:Flags, Variables and Counters
:Flag 4 checks if you haven't yet passed the giant
:Flag 5 is ON when shield is taken from room
:Flag 6 is ON when wardrobe is open
:Flag 7 is ON when blanket removed from bed
:Flag 8 is ON when torch taken from wall
:Flag 9 is ON when dog been covered once
:Flag 10 is ON when rope taken from giant
:Flag 11 is ON when bix taken from pocket
:Flag 12 is ON when brambles cut down
:Flag 13 is ON when find ledge
:Flag 14 is ON if sail raised
:Flag 15 is ON when umbrella taken from armour
:Flag 16 is ON when subterranean door unlocked
:Flag 17 is ON when box lands in moat
:Flag 18 is ON when obnoxious knight gives message
:Flag 19 is ON when dragon first speaks
:Flag 20 is ON when dragon has had branch
:Flag 21 is ON after you leave dog on cliff
:Flag 22 is ON when you break the panel
:Flag 23 is ON when you first enter room with panel
:Flag 24 is ON after you go down corridor first time
:Flag 25 is ON when drawbridge comes down
:Flag 26 is ON when you read leaflet first time
:Flag 27 is ON when first find umbrella
:Flag 28 is ON when first examine books
:Flag 29 is ON when first examine carving
:Flag 30 is ON when find green marble
:Flag 31 is ON when first enter lord's castle
:Flag 32 is ON when knights give 'carrying' message
:Flag 33 is temporary flag for yes/no
:Flag 34 is ON for subsequent visits to lord's castle
:Flag 35 is ON when cymbals are OFF harpsichord
:Flag 36 is ON when trumpet is OFF harpsicord
:Flag 37 is ON when hourglass turned once
:Flag 38 is ON when get vision of crystal
:Flag 39 is ON when blow whistle
:Flag 40 is ON when open grille
:Flag 41 is ON when find spell scroll
:Flag 42 is ON if say yes
:Flag 43 is ON when shed door unlocked
:Flag 44 is ON when study door unlocked
:Flag 45 is ON when stones rise
:Flag 46 is ON when go north through shed
:Flag 47 is On when door spiked
:Flag 48 is ON when scroll found in hive
:Flag 49 is ON when spike found
:Flag 50 is ON when cylinder drops
:Flag 51 is ON when go north first time towards gas room
:Flag 52 is ON when hear gas
:Flag 53 is ON when tiger gone
:Flag 54 is ON when Oklib fires bolt
:Flag 55 is ON when torch relit
:Flag 56 is ON when box opened with ring
:Variable 1 checks on how many times you passed the giant
:Variable 2 checks how many things taken from wardrobe
:Variable 4 counts up once you leave study
:Variable 5 counts once off waterfall
:Variable 6 checks on the correct marbles
:Variable 7 checks on all marbles
:Variable 8 checks how many times passed lord
:Variable 9 checks on open door to music room
:Variable 10 checks on tiger
:Variable 11 checks on how long you've been with Oklib
:Counter 1 checks movement of chief giant
:Counter 2 checks on blue potion
:Counter 3 checks on red liquid
:Counter 4 checks on hourglass
:Counter 5 checks on cylinder
:Counter 6 checks on gas

COMMAND ANY
AtLocation 122
Present 515 (* happy Oklib *)
PrintMessage 390 (* he goes *)
Destroy 515
DoneWithTurn
END_COMMAND

COMMAND ANY
AtLocation 121
AddToVariable 11 1
END_COMMAND

COMMAND ANY
AtLocation 121
VariableEquals 11 4
FlagOFF 54
Present 513 (* Oklib *)
PrintMessage 384 (* fires bolt at you *)
PutInCurrentRoom 487 (* bolt *)
TurnFlagON 54
END_COMMAND

COMMAND ANY
AtLocation 120
Present 519 (* tiger *)
AddToVariable 10 1
END_COMMAND

COMMAND ANY
AtLocation 120
Present 519
VariableEquals 10 1
PrintMessage 379 (* snarl *)
BlankLine
END_COMMAND

COMMAND ANY
AtLocation 120
Present 519
VariableEquals 10 2
PrintMessage 380 (* moves forward *)
BlankLine
END_COMMAND

COMMAND ANY
AtLocation 120
Present 519
VariableEquals 10 3
PrintMessage 381 (* attack *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND ANY
AtLocation 120
VariableEquals 10 2
Present 519 (* tiger *)
Present 502 (* dog *)
PrintMessage 378
BlankLine
Destroy 519
TurnFlagON 53
SetVariableTo 10 0
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND ANY
AtLocation 110
VerbIsDirection
Present 502 (* dog *)
PrintMessage 362 (* dog lies and stays *)
BlankLine
Destroy 502
PutInCurrentRoom 512
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND ANY
AtLocation 114
CounterEquals 5 7
PrintMessage 361 (* cylinder goes under *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
TurnCounterOFF 5
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND ANY
NOT AtLocation 114
CounterEquals 5 7
PrintMessage 360 (* hear cylinder go *)
TurnCounterOFF 5
TurnFlagON 50
DoneWithTurn
END_COMMAND

COMMAND ANY
AtLocation 4
FlagOFF 45
Present 402 (* armour *)
Present 464 (* shield *)
Present 393 (* ring *)
PrintMessage 335 (* stones rise *)
BlankLine
TurnFlagON 45
SendToRoom 553 4
SendToRoom 554 105
PlusScore 4
DoneWithTurn
END_COMMAND

COMMAND ANY
AtLocation 80
Present 510 (* Reya *)
IsNowhere 511 (* happy man *)
PrintMessage 325 (* reunion *)
SwapLocations 508 511
RemoveFromGroup 510 (* Reya *)
DoneWithTurn
END_COMMAND

COMMAND ANY
NOT VerbIsDirection
FlagOFF 38
AtLocation 102 (* crystal room *)
PrintMessage 305 (* vision *)
TurnFlagON 38
DoneWithTurn
END_COMMAND

COMMAND ANY
VariableGT 9 0 (* door is open *)
SubtractFromVariable 9 1
END_COMMAND

COMMAND ANY
VariableEquals 9 1 (* door still open *)
NOT AtLocation 84 (* not in music room *)
NOT AtLocation 81 (* not by door *)
PrintMessage 269 (* hear door shut *)
Destroy 446 (* remove door *)
SetVariableTo 9 0
END_COMMAND

COMMAND ANY
VariableEquals 9 1 (* door still open *)
AtLocation 84 (* in music room *)
SetVariableTo 9 0 (* but door stays open *)
END_COMMAND

COMMAND ANY
VariableEquals 9 1 (* door still open *)
AtLocation 81 (* not by door *)
PrintMessage 270 (* see door shut *)
Destroy 446 (* remove door *)
SetVariableTo 9 0
END_COMMAND

COMMAND ANY
VerbIsDirection
AtLocation 80
FlagON 42
VariableEquals 8 6
PrintMessage 267
GetIt 448 (* vial from lord *)
SetVariableTo 8 10
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND ANY
VerbIsDirection
AtLocation 80
FlagOFF 42
VariableEquals 8 6
SetVariableTo 8 10
DoneWithTurn
END_COMMAND

COMMAND ANY
VerbIsDirection
AtLocation 80
VariableLT 8 6
AddToVariable 8 1
END_COMMAND

COMMAND ANY
VerbIsDirection
NOT IsWearing 302 (* boots *)
AtLocationLT 10 (* by moat *)
OR
AtLocationGT 11 (* in moat *)
NOT AtLocationGT 50 (* lake *)
OR
NOT AtLocationLT 71 (* lake *)
PrintMessage 202 (* ouch *)
BlankLine
END_COMMAND

COMMAND ANY
CounterEquals 2 3
PrintMessage 197 (* chill wears off *)
BlankLine
TurnCounterOFF 2
END_COMMAND

COMMAND ANY
CounterEquals 3 3
PrintMessage 284 (* heat wears off *)
BlankLine
TurnCounterOFF 3
END_COMMAND

COMMAND ANY
CounterEquals 4 3
PrintMessage 287 (* time back to normal *)
BlankLine
TurnCounterOFF 4
END_COMMAND

COMMAND ANY
FlagOFF 22
NOT VariableEquals 6 1 (* not done them right *)
VariableEquals 7 6 (* put in 6 incorrectly *)
PrintMessage 186 (* last one, smoke from panel *)
BlankLine
TurnFlagON 22
DoneWithTurn
END_COMMAND

COMMAND ANY
AtLocation 7 (* cliff *)
Present 502 (* dog *)
FlagON 21 (* gone over cliff earlier *)
NOT IsGroupMember 502 (* dog not with you yet *)
PrintMessage 184 (* dog greets *)
AddToGroup 502 (* and joins you *)
BlankLine
DoneWithTurn
END_COMMAND

COMMAND ANY
AtLocation 78 (* lair *)
FlagOFF 19 (* first visit *)
PrintMessage 163 (* dragon speaks *)
WaitForReturn
ClearScreen
LookAtRoom
TurnFlagON 19 (* won't speak again *)
PlusScore 3
DoneWithTurn
END_COMMAND

COMMAND ANY
AtLocation 9 (* front of castle *)
NOT VerbIsDirection
FlagOFF 18 (* first visit *)
PrintMessage 162 (* knight *)
TurnFlagON 18
DoneWithTurn
END_COMMAND

COMMAND ANY
AtLocation 9 (* front castle *)
NOT VerbIsDirection
FlagOFF 25 (* drawbridge up *)
IsWearing 402 (* armour *)
PrintMessage 207 (* knights see armour *)
PrintMessage 265
TurnFlagON 25
SwapLocations 397 398 (* drawbridge comes down *)
PlusScore 2
BlankLine
DoneWithTurn
END_COMMAND

COMMAND ANY
AtLocation 9 (* front castle *)
NOT VerbIsDirection
FlagOFF 25 (* drawbridge up *)
FlagOFF 32 (* first time *)
IsCarrying 402 (* armour *)
PrintMessage 207 (* knights see armour *)
PrintMessage 266
TurnFlagON 32
DoneWithTurn
END_COMMAND

COMMAND ANY
AtLocation 10 (* back of castle *)
NOT VerbIsDirection
FlagOFF 17 (* first visit *)
PrintMessage 159 (* plop *)
TurnFlagON 17
PutInCurrentRoom 410
PlusScore 3
DoneWithTurn
END_COMMAND

COMMAND ANY
VariableGT 5 0
SubtractFromVariable 5 1
END_COMMAND

COMMAND ANY
AtLocation 74
VariableEquals 5 1 (* last chance gone! *)
PrintMessage 139 (* die on rocks *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
SetVariableTo 5 0
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND ANY
AtLocation 74
VariableEquals 5 2 (* gone off waterfall *)
PrintMessage 142
BlankLine
END_COMMAND

COMMAND ANY
AtLocation 74
VariableEquals 5 3 (* gone off waterfall *)
PrintMessage 144
BlankLine
END_COMMAND

COMMAND ANY
AtLocation 28
CounterEquals 1 1
PrintMessage 61
BlankLine
END_COMMAND

COMMAND ANY
AtLocation 28
CounterEquals 1 2
PrintMessage 62
BlankLine
END_COMMAND

COMMAND ANY
AtLocation 28
CounterEquals 1 3
PrintMessage 63
Blankline
END_COMMAND

COMMAND ANY
AtLocation 28
CounterEquals 1 4
PrintMessage 64
BlankLine
END_COMMAND

COMMAND ANY
AtLocation 28
CounterEquals 1 5
PrintMessage 65
BlankLine
END_COMMAND

COMMAND ANY
AtLocation 28
CounterEquals 1 6
PrintMessage 66
BlankLine
TurnCounterOFF 1
Destroy 503
PlusScore 3
SendToRoom 504 24 (* giant goes to bed *)
SendToRoom 354 24 (* put axe on table *)
PutInCurrentRoom 347 (* desk *)
END_COMMAND

COMMAND ANY
VariableEquals 4 3
AtLocationGT 29
AtLocationLT 34
PrintMessage 75
BlankLine
END_COMMAND

COMMAND ANY
VariableEquals 4 6
AtLocationGT 29
AtLocationLT 34
PrintMessage 76
BlankLine
END_COMMAND

COMMAND ANY
VariableEquals 4 8
AtLocationGT 30
AtLocationLT 34
PrintMessage 77
BlankLine
END_COMMAND

COMMAND ANY
VariableEquals 4 8
AtLocation 29
SubtractFromVariable 4 1
END_COMMAND

COMMAND ANY
VariableEquals 4 10
AtLocationGT 30
AtLocationLT 34
PrintMessage 78
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* bye bye dog if here *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND ANY
VariableEquals 4 10
AtLocation 29
SubtractFromVariable 4 1
END_COMMAND

COMMAND ANY
AtLocationGT 29
AtLocationLT 34
AddToVariable 4 1
END_COMMAND

COMMAND ANY
AtLocationGT 65
AtLocationLT 69
Chance 40%
PrintMessage 129
BlankLine
END_COMMAND

COMMAND ANY
AtLocationGT 62
AtLocationLT 66
Chance 40%
PrintMessage 130
BlankLine
END_COMMAND

COMMAND ANY
AtLocationGT 53
AtLocationLT 59
Chance 40%
PrintMessage 131
BlankLine
END_COMMAND

COMMAND ANY
AtLocationGT 50
AtLocationLT 54
OR
AtLocationGT 58
AtLocationLT 61
Chance 40%
PrintMessage 132
BlankLine
END_COMMAND

COMMAND ANY
AtLocationGT 61
AtLocationLT 63
Chance 40%
PrintMessage 133
BlankLine
END_COMMAND

COMMAND ANY
AtLocationGT 68
AtLocationLT 71
Chance 40%
PrintMessage 134
BlankLine
END_COMMAND

COMMAND NORTH
AtLocation 118 (* gas room *)
FlagOFF 47
PrintMessage 349 (* hear gas *)
BlankLine
GoToRoom 119
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 118 (* gas room *)
FlagON 47
GoToRoom 119
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 120
FlagON 53
GoToRoom 121
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 105
FlagOFF 43
PrintMessage 152 (* ouch *)
BlankLine
DonewithTurn
END_COMMAND

COMMAND NORTH
AtLocation 105
FlagON 43
GoToRoom 106
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 106
FlagOFF 46
PrintMessage 345 (* door shuts *)
BlankLine
GoToRoom 107
TurnFlagON 46
RelocateAll 106 108 (* swap rooms *)
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 110
InRoom 555
GoToRoom 117
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 101
FlagOFF 39 (* not blown whistle *)
PrintMessage 315
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 101
FlagON 39
PrintMessage 316 (* wolves watch *)
BlankLine
GoToRoom 92
DonewithTurn
END_COMMAND

COMMAND NORTH
AtLocation 97
PrintMessage 292 (* heat kills *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
TurnCounterOFF 3
TurnCounterOFF 2
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 98
PrintMessage 293 (* cold kills *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
TurnCounterOFF 3
TurnCounterOFF 2
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 92
IsCarrying 402
OR
IsWearing 402 (* armour *)
PrintMessage 300 (* can't move *)
BlankLine
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 90
NOT InRoom 455 (* plank *)
PrintMessage 298 (* can't jump that far *)
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 90
Present 502 (* friendly dog *)
InRoom 455
PrintMessage 299 (* plank falls *)
BlankLine
PrintMessage 321 (* dog leaps *)
BlankLine
Destroy 455
GoToRoom 91
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 90
NOT Present 502 (* friendly dog *)
InRoom 455
PrintMessage 299 (* plank falls *)
BlankLine
Destroy 455
GoToRoom 91
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 88
NOT InRoom 454
PrintMessage 278 (* get wet *)
BlankLine
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 88 (* island *)
InRoom 454 (* plank bridge *)
PrintMessage 276
BlankLine
GoToRoom 87
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 5 (* path *)
GoToRoom 6 (* middle of forest *)
PrintMessage 1
BlankLine
DonewithTurn
END_COMMAND

COMMAND NORTH
AtLocation 12
FlagOFF 4 (* haven't passed giant before *)
SetVariableTo 1 2 (* can pass 2 more times *)
PrintMessage 14
BlankLine
GoToRoom 13
PlusScore 2
TurnFlagON 4
SetVariableTo 6 6 (* for marbles *)
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 12
NOT Present 502 (* no dog *)
VariableEquals 1 1 (* gone past three times *)
SetVariableTo 1 0 (* can't pass again *)
PrintMessage 16
BlankLine
GoToRoom 13
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 12
Present 502 (* dog *)
VariableEquals 1 1 (* gone past three times *)
SetVariableTo 1 0 (* can't pass again *)
PrintMessage 16
BlankLine
PrintMessage 222
BlankLine
GoToRoom 13
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 16
NOT Present 325 (* torch *)
PrintMessage 257 (* not in dark *)
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 16
Present 325
FlagOFF 23 (* first time *)
SetVariableTo 6 6
GoToRoom 17
TurnFlagON 23
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 16
Present 325
FlagON 23 (* every other time *)
GoToRoom 17
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocationGT 50 (* lake *)
AtLocationLT 71
NOT AtLocation 69
FlagOFF 14
PrintMessage 123
BlankLine
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 69
FlagOFF 14
PrintMessage 126 (* leave boat *)
BlankLine
GoToRoom 71
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 50
PrintMessage 145 (* climb into boat *)
BlankLine
GoToRoom 51
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 69
FlagON 14
PrintMessage 127 (* it sails off *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* dog *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 76
PrintMessage 171 (* up stairs etc *)
BlankLine
GoToRoom 5
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 43
NOT Present 325 (* torch *)
PrintMessage 257 (* not in dark *)
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 81 (* corridor *)
OR
AtLocation 82
OR
AtLocation 83
PrintMessage 271 (* bump *)
DoneWithTurn
END_COMMAND

COMMAND NORTH
AtLocation 84
GoToRoom 81
Destroy 446 (* door *)
PrintMessage 272 (* tell player door shuts *)
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 119 (* study *)
IsLocated 484 118 (* ajar door *)
PrintMessage 350 (* gassed *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 119
FlagOFF 47
IsLocated 485 118 (* spiked door *)
PrintMessage 351 (* safe *)
BlankLine
TurnFlagON 47
GoToRoom 118
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 119
FlagON 47
GoToRoom 118
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 106
GoToRoom 105
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 99
FlagOFF 40
PrintMessage 319 (* grill blocks way *)
DonewithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 99
FlagON 40
PrintMessage 320 (* back to shore *)
BlankLine
GoToRoom 10
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 101
FlagOFF 39 (* not blown whistle *)
PrintMessage 315
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 101
FlagON 39
PrintMessage 316 (* wolves watch *)
BlankLine
GoToRoom 89
DonewithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 92
IsCarrying 402
OR
IsWearing 402 (* armour *)
PrintMessage 300 (* can't move *)
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 91
PrintMessage 298 (* no plank *)
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 85 (* dining room *)
Present 452 (* passage *)
GoToRoom 96
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 96
CounterGT 2 0
PrintMessage 289 (* pass heat safely *)
BlankLine
GoToRoom 97
PlusScore 1
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 96
CounterEquals 2 0
PrintMessage 292 (* fried *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* dog *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 97
CounterGT 3 0
PrintMessage 290 (* pass cold safely *)
BlankLine
GoToRoom 98
PlusScore 1
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 96
CounterEquals 3 0
PrintMessage 293 (* frozen *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* dog *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 87
NOT InRoom 453
PrintMessage 278 (* get wet *)
BlankLine
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 87 (* garden *)
InRoom 453 (* plank bridge *)
PrintMessage 275
BlankLine
GoToRoom 88
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 81 (* corridor *)
NOT Present 446 (* no door *)
PrintMessage 271 (* bump *)
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 81
Present 446 (* door *)
SetVariableTo 9 0 (* but leave door *)
GoToRoom 84
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 82 (* corridor *)
OR
AtLocation 83
PrintMessage 271 (* bump *)
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 36
PrintMessage 7
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 43
NOT Present 325 (* torch *)
PrintMessage 261 (* stumble back into light *)
GoToRoom 42
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 13
NOT Present 502 (* no dog *)
VariableEquals 1 2 (* gone past once)
SetVariableTo 1 1 (* can pass 1 more time *)
PrintMessage 15
BlankLine
GoToRoom 12
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 13
Present 502 (* dog *)
VariableEquals 1 2 (* gone past once)
SetVariableTo 1 1 (* can pass 1 more time *)
PrintMessage 15
BlankLine
PrintMessage 221 (* dog lands *)
BlankLine
GoToRoom 12
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 13
VariableEquals 1 0
PrintMessage 17
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* bye bye dog if here *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 16
NOT Present 325 (* torch *)
PrintMessage 257 (* not in dark *)
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocationGT 50 (* lake *)
AtLocationLT 71
NOT AtLocation 51
FlagOFF 14
PrintMessage 123
BlankLine
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 51
FlagOFF 14
PrintMessage 126 (* leave boat *)
BlankLine
GoToRoom 50
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 51
FlagON 14
PrintMessage 219 (* sails off *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* dog *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 71
PrintMessage 145 (* climb into boat *)
BlankLine
GoToRoom 69
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 33
FlagOFF 12
PrintMessage 81 (* brambles *)
DoneWithTurn
END_COMMAND

COMMAND SOUTH
AtLocation 33 (* bend in passage *)
FlagON 12 (* brambles gone *)
Present 357 (* hole in brambles *)
PrintMessage 83 (* push through hole *)
BlankLine
PlusScore 5
GoToRoom 5
DoneWithTurn
END_COMMAND

COMMAND EAST
AtLocation 121
FlagON 54 (* fired bolt *)
PrintMessage 385 (* hit by bolt *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND EAST
AtLocation 114
PrintMessage 367 (* sizzle *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* dog *)
TurnCounterOFF 5
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND EAST
AtLocation 4
InRoom 553 (* stones *)
PrintMessage 336
BlankLine
GoToRoom 105
DoneWithTurn
END_COMMAND

COMMAND EAST
AtLocation 101
FlagOFF 39 (* not blown whistle *)
PrintMessage 315
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND EAST
AtLocation 101
FlagON 39
IsNowhere 510 (* Reya *)
PrintMessage 316 (* wolves watch *)
BlankLine
GoToRoom 103
DonewithTurn
END_COMMAND

COMMAND EAST
AtLocation 101
FlagON 39
IsSomewhere 510 (* Reya *)
PrintMessage 316 (* wolves watch *)
BlankLine
GoToRoom 104
DonewithTurn
END_COMMAND

COMMAND EAST
AtLocation 43
NOT Present 325 (* torch *)
PrintMessage 257 (* not in dark *)
DoneWithTurn
END_COMMAND

COMMAND EAST
AtLocation 31
NOT Present 325 (* torch *)
PrintMessage 261 (* back to light *)
GoToRoom 30
DoneWithTurn
END_COMMAND

COMMAND EAST
AtLocationGT 50 (* lake *)
AtLocationLT 71
FlagOFF 14
PrintMessage 123
BlankLine
DoneWithTurn
END_COMMAND

COMMAND EAST
AtLocation 61
FlagON 14
PrintMessage 141 (* off waterfall *)
SetVariableTo 5 4
BlankLine
GoToRoom 74
DoneWithTurn
END_COMMAND

COMMAND EAST
AtLocation 72
PrintMessage 145 (* climb into boat *)
BlankLine
GoToRoom 56
DoneWithTurn
END_COMMAND

COMMAND EAST
AtLocation 76
FlagON 16
GoToRoom 75
DoneWithTurn
END_COMMAND

COMMAND EAST
AtLocation 76
FlagOFF 16 (* door locked *)
PrintMessage 152 (* bump into door *)
BlankLine
DoneWithTurn
END_COMMAND

COMMAND EAST
AtLocation 16
NOT Present 325 (* torch *)
PrintMessage 261 (* back into light *)
GoToRoom 13
DoneWithTurn
END_COMMAND

COMMAND WEST
AtLocation 115
FlagON 50
PrintMessage 364 (* cylinder has sunk *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND WEST
AtLocation 116
FlagON 50
PrintMessage 364 (* cylinder has sunk *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND WEST
AtLocation 115
FlagOFF 50
PrintMessage 368
BlankLine
GoToRoom 114
DoneWithTurn
END_COMMAND

COMMAND WEST
AtLocation 116
FlagOFF 50
PrintMessage 368
BlankLine
GoToRoom 114
DoneWithTurn
END_COMMAND

COMMAND WEST
AtLocation 105
PrintMessage 336
BlankLine
GoToRoom 4
DoneWithTurn
END_COMMAND

COMMAND WEST
AtLocation 43
NOT Present 325 (* torch *)
PrintMessage 257 (* not in dark *)
DoneWithTurn
END_COMMAND

COMMAND WEST
AtLocation 32
NOT Present 325 (* torch *)
PrintMessage 261 (* back to light *)
GoToRoom 30
DoneWithTurn
END_COMMAND

COMMAND WEST
AtLocation 31
NOT Present 325 (* torch *)
PrintMessage 257 (* not in dark *)
DoneWithTurn
END_COMMAND

COMMAND WEST
AtLocation 36
FlagOFF 24
PrintMessage 191
BlankLine
TurnFlagON 24
DoneWithTurn
END_COMMAND

COMMAND WEST
AtLocation 36
FlagON 24
PrintMessage 194
DoneWithTurn
END_COMMAND

COMMAND WEST
AtLocation 20
IsLocated 504 24 (* giant in bedroom *)
GoToRoom 28
DonewithTurn
END_COMMAND

COMMAND WEST
AtLocation 20
IsLocated 503 28 (* giant in study *)
NOT IsWearing 346 (* hood *)
PrintMessage 51
BlankLine
Printmessage 53
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* dog gone *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND WEST
AtLocation 20
IsLocated 503 28 (* giant in study *)
IsWearing 332 (* cloak *)
IsWearing 346 (* hood *)
PrintMessage 52
Blankline
PrintMessage 54
BlankLine
GoToRoom 28
TurnCounterON 1
DonewithTurn
END_COMMAND

COMMAND WEST
AtLocation 28
IsOpen 351 (* cupboard *)
PrintMessage 74
BlankLine
GoToRoom 29
ChangePassageway 3 0
ChangePassageway 9 0
SetVariableTo 4 1 (* start counter for capture *)
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND WEST
AtLocation 16
NOT Present 325 (* torch *)
PrintMessage 257 (* not in dark *)
DoneWithTurn
END_COMMAND

COMMAND WEST
AtLocationGT 50 (* lake *)
AtLocationLT 71
NOT AtLocation 56
FlagOFF 14
PrintMessage 123
BlankLine
DoneWithTurn
END_COMMAND

COMMAND WEST
AtLocation 56
FlagOFF 14 (* sail down *)
PrintMessage 126 (* leave boat *)
BlankLine
GoToRoom 72
DoneWithTurn
END_COMMAND

COMMAND WEST
AtLocation 56
FlagON 14
PrintMessage 127 (* sails away *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* dog *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND WEST
AtLocation 75
FlagON 16
GoToRoom 76
DoneWithTurn
END_COMMAND

COMMAND WEST
AtLocation 75
FlagOFF 16 (* door locked *)
PrintMessage 152 (* bump into door *)
BlankLine
DoneWithTurn
END_COMMAND

COMMAND WEST
AtLocation 78 (* lair *)
PrintMessage 160 (* dragon won't let you *)
DoneWithTurn
END_COMMAND

COMMAND NORTHWEST
AtLocation 6
FlagOFF 12
GoToRoom 12
DoneWithTurn
END_COMMAND

COMMAND NORTHWEST
AtLocation 6
FlagON 12
PrintMessage 251 (* noises *)
PromptForNO
BlankLine
PrintMessage 253 (* wise move *)
DoneWithTurn
END_COMMAND

COMMAND NORTHWEST
AtLocation 6
FlagON 12
PrintMessage 251 (* noises *)
PromptForYES
BlankLine
PrintMessage 252 (* captured *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* dog *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND NORTHWEST
AtLocation 9 (* front castle *)
Present 397 (* raised drawbridge *)
PrintMessage 208 (* bump! *)
DoneWithTurn
END_COMMAND

COMMAND NORTHWEST
AtLocation 9
Present 398 (* lowered drawbridge *)
FlagOFF 31 (* first entry *)
PrintMessage 209 (* into castle, meet lord *)
TurnFlagON 33 (* temp flag *)
PromptForYES
PrintMessage 211 (* yes *)
WaitForReturn
ClearScreen
TurnFlagON 31
TurnFlagOFF 33 (* turn off cos said yes *)
SetVariableTo 8 1
TurnFlagON 34
TurnFlagON 42
GoToRoom 80 (* Great Hall *)
END_COMMAND

COMMAND NORTHWEST
FlagOFF 31
FlagON 33
PrintMessage 210 (* no *)
WaitForReturn
ClearScreen
TurnFlagOFF 31
TurnFlagOFF 33
TurnFlagON 34
SetVariableTO 8 1
GoToRoom 80
DoneWithTurn
END_COMMAND

COMMAND NORTHWEST
AtLocation 9
Present 398
FlagON 31
FlagON 34 (* subsequent visits *)
GoToRoom 80
DoneWithTurn
END_COMMAND

COMMAND NORTHWEST
AtLocation 6
GoToRoom 12 (* outside giants' place *)
PrintMessage 2
BlankLine
DonewithTurn
END_COMMAND

COMMAND NORTHWEST
AtLocationGT 50
AtLocationLT 71
FlagON 14
PrintMessage 193
BlankLine
GoToRandomRoom 51 70
DoneWithTurn
END_COMMAND

COMMAND NORTHEAST
AtLocationGT 50
AtLocationLT 71
FlagON 14
PrintMessage 193
BlankLine
GoToRandomRoom 51 70
DoneWithTurn
END_COMMAND

COMMAND SOUTHWEST
AtLocationGT 50
AtLocationLT 71
FlagON 14
PrintMessage 193
BlankLine
GoToRandomRoom 51 70
DoneWithTurn
END_COMMAND

COMMAND SOUTHEAST
AtLocationGT 50
AtLocationLT 71
FlagON 14
PrintMessage 193
BlankLine
GoToRandomRoom 51 70
DoneWithTurn
END_COMMAND

COMMAND UP
AtLocation 76
PrintMessage 171 (* up stairs etc *)
BlankLine
GoToRoom 5
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND UP
AtLocation 11
NOT Present 507 (* dog *)
PrintMessage 11
BlankLine
GoToRoom 10
DoneWithTurn
END_COMMAND

COMMAND UP
AtLocation 11
Present 507
PrintMessage 11
BlankLine
GoToRoom 10
SwapLocations 507 502
DoneWithTurn
END_COMMAND

COMMAND UP
AtLocation 47
FlagOFF 13
PrintMessage 112
BlankLine
DoneWithTurn
END_COMMAND

COMMAND UP
AtLocation 47
FlagON 13
PrintMessage 113
BlankLine
GoToRoom 48
DoneWithTurn
END_COMMAND

COMMAND UP
AtLocation 43
NOT Present 325 (* torch *)
PrintMessage 257 (* not in dark *)
DoneWithTurn
END_COMMAND

COMMAND DOWN
AtLocation 112
InRoom 559
FlagOFF 50
TurnCounterON 5
PrintMessage 359 (* land on cylinder *)
BlankLine
GoToRoom 114
DoneWithTurn
END_COMMAND

COMMAND DOWN
AtLocation 112
InRoom 559
FlagON 50
PrintMessage 363 (* cylinder has sunk *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND DOWN
AtLocation 43
NOT Present 325 (* torch *)
PrintMessage 257 (* not in dark *)
DoneWithTurn
END_COMMAND

COMMAND DOWN
AtLocation 10
IsWearing 302 (* boots *)
OR
IsCarrying 302
PrintMessage 10
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* dog *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND DOWN
AtLocation 10
LoadWeightGT 40 (* carrying too much *)
PrintMessage 229 (* drown *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* dog *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND DOWN
AtLocation 10
Present 502
NOT IsWearing 302
OR
NOT IsCarrying 302
PrintMessage 9
BlankLine
GoToRoom 11
SwapLocations 502 507
END_COMMAND

COMMAND DOWN
AtLocation 11 (* continues from above *)
Present 507
Present 325 (* lit torch *)
PrintMessage 228  (* torch goes out *)
BlankLine
SwapLocations 325 424
DoneWithTurn
END_COMMAND

COMMAND DOWN
AtLocation 11 (* or this continues *)
Present 507
NOT Present 325 (* lit torch *)
DoneWithTurn
END_COMMAND

COMMAND DOWN
AtLocation 10
NOT Present 502
NOT IsWearing 302
OR
NOT IsCarrying 302
PrintMessage 9
BlankLine
GoToRoom 11
END_COMMAND

COMMAND DOWN
AtLocation 11 (* continues from above *)
NOT Present 507
Present 325 (* lit torch *)
PrintMessage 228  (* torch goes out *)
BlankLine
SwapLocations 325 424
DoneWithTurn
END_COMMAND

COMMAND DOWN
AtLocation 11 (* or this continues *)
NOT Present 507
NOT Present 325 (* lit torch *)
DoneWithTurn
END_COMMAND

COMMAND DOWN
AtLocation 7
Present 359 (* rope hanging from tree *)
PrintMessage 97 (* climb rope or jump? *)
BlankLine
DoneWithTurn
END_COMMAND

COMMAND DOWN
AtLocation 7
NOT Present 359 (* rope hanging from tree *)
PrintMessage 110 (* jump? *)
BlankLine
DoneWithTurn
END_COMMAND

COMMAND DOWN
AtLocation 41 (* cave *)
Present 368 (* rope hanging from stalagmite *)
PrintMessage 98 (* climb rope or jump? *)
BlankLine
DoneWithTurn
END_COMMAND

COMMAND DOWN
AtLocation 41 (* cave *)
NOT Present 368 (* no rope and stalagmite *)
PrintMessage 109 (* jump down hole? *)
BlankLine
DoneWithTurn
END_COMMAND

COMMAND IN
AtLocation 80
GoToRoom 93
DoneWithTurn
END_COMMAND

COMMAND IN
AtLocation 10
IsWearing 302 (* boots *)
OR
IsCarrying 302
PrintMessage 10
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* dog *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND IN
AtLocation 10
LoadWeightGT 40 (* carrying too much *)
PrintMessage 229 (* drown *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* dog *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND IN
AtLocation 10
Present 502
NOT IsWearing 302
OR
NOT IsCarrying 302
PrintMessage 9
BlankLine
GoToRoom 11
SwapLocations 502 507
END_COMMAND

COMMAND IN
AtLocation 11 (* continues from above *)
Present 507
Present 325 (* lit torch *)
PrintMessage 228  (* torch goes out *)
BlankLine
SwapLocations 325 424
DoneWithTurn
END_COMMAND

COMMAND IN
AtLocation 11 (* or this continues *)
Present 507
NOT Present 325 (* lit torch *)
DoneWithTurn
END_COMMAND

COMMAND IN
AtLocation 10
NOT Present 502
NOT IsWearing 302
OR
NOT IsCarrying 302
PrintMessage 9
BlankLine
GoToRoom 11
END_COMMAND

COMMAND IN
AtLocation 11 (* continues from above *)
NOT Present 507
Present 325 (* lit torch *)
PrintMessage 228  (* torch goes out *)
BlankLine
SwapLocations 325 424
DoneWithTurn
END_COMMAND

COMMAND IN
AtLocation 11 (* or this continues *)
NOT Present 507
NOT Present 325 (* lit torch *)
DoneWithTurn
END_COMMAND

COMMAND IN
AtLocation 50
PrintMessage 145 (* climb into boat *)
BlankLine
GoToRoom 51
DoneWithTurn
END_COMMAND

COMMAND IN
AtLocation 72
PrintMessage 145 (* climb into boat *)
BlankLine
GoToRoom 56
DoneWithTurn
END_COMMAND

COMMAND IN
AtLocation 71
PrintMessage 145 (* climb into boat *)
BlankLine
GoToRoom 69
DoneWithTurn
END_COMMAND

COMMAND LEAVE
AtLocation 11
NOT Present 507
PrintMessage 11
BlankLine
GoToRoom 10
DoneWithTurn
END_COMMAND

COMMAND LEAVE
AtLocation 11
Present 507
PrintMessage 11
BlankLine
GoToRoom 10
SwapLocations 507 502
DoneWithTurn
END_COMMAND

COMMAND LEAVE
AtLocation 51
FlagOFF 14
PrintMessage 126 (* leave boat *)
BlankLine
GoToRoom 50
DoneWithTurn
END_COMMAND

COMMAND LEAVE
AtLocation 51
FlagON 14
PrintMessage 127 (* sails off *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* dog *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND LEAVE
AtLocation 69
FlagOFF 14
PrintMessage 126 (* leave boat *)
BlankLine
GoToRoom 71
DoneWithTurn
END_COMMAND

COMMAND LEAVE
AtLocation 69
FlagON 14
PrintMessage 127 (* sails off *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* dog *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND LEAVE
AtLocation 56
FlagOFF 14
PrintMessage 126 (* leave boat *)
BlankLine
GoToRoom 72
DoneWithTurn
END_COMMAND

COMMAND LEAVE
AtLocation 56
FlagON 14
PrintMessage 127 (* sails off *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* dog *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND DEBUG
Toggleflag 0
DoneWithTurn
END_COMMAND

COMMAND GETNOUN
PrintMessage 198
DonewithTurn
END_COMMAND

COMMAND LISTNOUNS
PrintMessage 198
DoneWithTurn
END_COMMAND

COMMAND MOVEPLAYER
PrintMessage 198
DoneWithTurn
END_COMMAND

COMMAND ASK DRAGON ABOUT ANY
AtLocation 78 (* lair *)
PrintMessage 172 (* no idea *)
DoneWithTurn
END_COMMAND

COMMAND ASK DRAGON FOR ANY
AtLocation 78 (* lair *)
PrintMessage 172 (* no idea *)
DoneWithTurn
END_COMMAND

COMMAND ASK OKLIB ABOUT ANY
AtLocation 121
InRoom 513
OR
InRoom 514
OR
InRoom 515
PrintMessage 383 (* shrugs *)
DoneWithTurn
END_COMMAND

COMMAND ASK SOLDIERS ABOUT ANY
AtLocation 9 (* castle *)
PrintMessage 254 (* go away *)
DoneWithTurn
END_COMMAND

COMMAND ASK GIANT ABOUT ANY
AtLocation 28 (* study *)
Present 503 (* chief *)
PrintMessage 255 (* don't bother me *)
DoneWithTurn
END_COMMAND

COMMAND BLOW HORN
AtLocation 120
Present 518 (* glass wall *)
NOUNIsCarrying
PrintMessage 376 (* wall shatters *)
Destroy 518
PutInCurrentRoom 519 (* tiger *)
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND BLOW HORN
NOT Present 518
NOUNIsCarrying
PrintMessage 377 (* noise *)
DoneWithTurn
END_COMMAND

COMMAND BLOW WHISTLE
IsCarrying 468
NOT Present 462 (* no key *)
NOT AtLocation 101 (* no wolves *)
PrintMessage 313 (* peep *)
END_COMMAND

COMMAND BLOW WHISTLE
IsCarrying 468
Present 462 (* glass key *)
NOT AtLocation 101 (* no wolves *)
PrintMessage 310 (* destroy key *)
Destroy 462
END_COMMAND

COMMAND BLOW WHISTLE
IsCarrying 468
Present 462
AtLocation 101
PrintMessage 311 (* wolves lie, key shatters *)
Destroy 462
PlusScore 2
TurnFlagON 39
END_COMMAND

COMMAND BLOW WHISTLE
IsCarrying 468
NOT Present 462
AtLocation 101
PrintMessage 312 (* wolves lie *)
PlusScore 2
TurnFlagON 39
END_COMMAND

COMMAND BLOW WHISTLE
Present 502
PrintMessage 329
DoneWithTurn
END_COMMAND

COMMAND BLOW WHISTLE
NOT Present 502
DoneWithTurn
END_COMMAND

COMMAND BREAK CRYSTAL
AtLocation 102
InRoom 467
PrintMessage 306
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND BREAK CUPBOARD
AtLocation 28 (* study *)
PrintMessage 215 (* reinforced *)
DonewithTurn
END_COMMAND

COMMAND BREAK WALL
AtLocation 45 (* cave *)
IsCarrying 396 (* sledgehammer *)
PrintMessage 164
ChangePassageway 4 78 (* make passage west to lair *)
PutInCurrentRoom 403 (* hole *)
BlankLine
LookAtRoom
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND BREAK WALL
AtLocation 45
NOT IsCarrying 396 (* no hammer *)
PrintMessage 165 (* nothing suitable *)
DoneWithTurn
END_COMMAND

COMMAND BURN BRAMBLES
AtLocation 33
IsCarrying 325
PrintMessage 87
DoneWithTurn
END_COMMAND

COMMAND CAST NIMBUS
AtLocation 115
Present 481 (* spell *)
Destroy 481
PrintMessage 369 (* well fills, get horn *)
WaitForReturn
ClearScreen
GetIt 482
GoToRoom 116
ReLocateAll 115 116
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND CAST NIMBUS
NOT AtLocation 115
Present 481
Destroy 481
PrintMessage 370
DoneWithTurn
END_COMMAND

COMMAND CAST FLESH AT STATUE
AtLocation 103
Present 470 (* spell *)
Destroy 470
PrintMessage 322 (* restore Reya *)
WaitForReturn
ClearScreen
GetIt 469 (* net *)
GoToRoom 104
RelocateAll 103 104
PutInCurrentRoom 510
PlusScore 4
DoneWithTurn
END_COMMAND

COMMAND CAST FLESH AT BUST
AtLocation 83
Present 470
PrintMessage 324
Destroy 470
DonewithTurn
END_COMMAND

COMMAND CAST FLESH AT ANY
Present 470 (* spell *)
NOT NameIsNumber 456 (* statue *)
PrintMessage 323 (* fizzle *)
Destroy 470
DoneWithTurn
END_COMMAND

REM: COMMAND CAST SPELL AT ANY
REM: NOT Present 470 (* no scroll *)
REM: PrintMessage 328 (* tell player *)
REM: DonewithTurn
REM: END_COMMAND

COMMAND CLIMB
AtLocation 47
FlagON 13
PrintMessage 113
Blankline
GoToRoom 48
DoneWithTurn
END_COMMAND

COMMAND CLIMB
AtLocation 47
FlagOFF 13
PrintMessage 112
Blankline
DoneWithTurn
END_COMMAND

COMMAND CLIMB DOWN ROPE
AtLocation 7
Present 359 (* rope hanging from branch *)
Present 502 (* friendly dog *)
PrintMessage 106 (* okay, but dog whines *)
SwapLocations 307 363 (* tree *)
Destroy 359 (* rope hanging from branch *)
RemoveFromGroup 502 (* dog stays behind *)
SendToRoom 362 38 (* broken branch and rope to cliff bottom *)
BlankLine
GoToRoom 38 (* bottom of cliff *)
TurnFlagON 21
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND CLIMB DOWN ROPE
AtLocation 7
Present 359 (* rope hanging from branch *)
PrintMessage 99 (* okay *)
SwapLocations 307 363 (* tree *)
Destroy 359 (* rope hanging from branch *)
SendToRoom 362 38 (* broken branch and rope to cliff bottom *)
BlankLine
GoToRoom 38 (* bottom of cliff *)
PlusScore 2
TurnFlagON 21
DoneWithTurn
END_COMMAND

COMMAND CLIMB DOWN ROPE
AtLocation 41 (* cave *)
Present 368 (* rope hanging from stalagmite *)
PrintMessage 100 (* okay *)
BlankLine
GoToRoom 42 (* first cave room *)
PrintMessage 107 (* when high tide? *)
BlankLine
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND CLIMB ROPE
AtLocation 7
Present 359 (* rope hanging from branch *)
Present 502 (* friendly dog *)
PrintMessage 106 (* okay, but dog whines *)
SwapLocations 307 363 (* tree *)
Destroy 359 (* rope hanging from branch *)
RemoveFromGroup 502 (* dog stays behind *)
SendToRoom 362 38 (* broken branch and rope to cliff bottom *)
BlankLine
GoToRoom 38 (* bottom of cliff *)
TurnFlagON 21
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND CLIMB ROPE
AtLocation 7
Present 359 (* rope hanging from branch *)
PrintMessage 99 (* okay *)
SwapLocations 307 363 (* tree *)
Destroy 359 (* rope hanging from branch *)
SendToRoom 362 38 (* broken branch and rope to cliff bottom *)
BlankLine
GoToRoom 38 (* bottom of cliff *)
PlusScore 2
TurnFlagON 21
DoneWithTurn
END_COMMAND

COMMAND CLIMB ROPE
AtLocation 41 (* cave *)
Present 368 (* rope hanging from stalagmite *)
PrintMessage 100 (* okay *)
BlankLine
GoToRoom 42 (* first cave room *)
PlusScore 2
PrintMessage 107 (* when high tide? *)
BlankLine
DoneWithTurn
END_COMMAND

COMMAND CLIMB TREE
AtLocation 5
PrintMessage 212
DoneWithTurn
END_COMMAND

COMMAND CLIMB STALAGMITE
AtLocation 41
PrintMessage 224
DoneWithTurn
END_COMMAND

COMMAND CLOSE DOOR
AtLocation 75
FlagOFF 16 (* door locked *)
PrintMessage 151 (* already shut *)
DoneWithTurn
END_COMMAND

COMMAND CLOSE DOOR
AtLocation 75
NOT IsCarrying 391 (* large key *)
FlagON 16 (* door unlocked *)
PrintMessage 149 (* no key, swings open again *)
DoneWithTurn
END_COMMAND

COMMAND CLOSE DOOR
AtLocation 75
IsCarrying 391 (* large key *)
FlagON 16 (* door unlocked *)
PrintMessage 150 (* close and lock it *)
TurnFlagOFF 16 (* door locked *)
DoneWithTurn
END_COMMAND

COMMAND CLOSE DOOR
AtLocation 76
FlagOFF 16 (* door locked *)
PrintMessage 151 (* already shut *)
DoneWithTurn
END_COMMAND

COMMAND CLOSE DOOR
AtLocation 76
NOT IsCarrying 391 (* large key *)
FlagON 16 (* door unlocked *)
PrintMessage 149 (* no key, swings open again *)
DoneWithTurn
END_COMMAND

COMMAND CLOSE DOOR
AtLocation 76
IsCarrying 391 (* large key *)
FlagON 16 (* door unlocked *)
PrintMessage 150 (* close and lock it *)
TurnFlagOFF 16 (* door locked *)
DoneWithTurn
END_COMMAND

COMMAND CLOSE DOOR
AtLocation 105
FlagOFF 43 (* door locked *)
PrintMessage 151 (* already shut *)
DoneWithTurn
END_COMMAND

COMMAND CLOSE DOOR
AtLocation 105
FlagON 43 (* door unlocked *)
PrintMessage 347 (* jammed open *)
DoneWithTurn
END_COMMAND

COMMAND CLOSE DOOR
AtLocation 106
FlagON 43 (* door unlocked *)
PrintMessage 347 (* jammed open *)
DoneWithTurn
END_COMMAND

COMMAND CLOSE GRILLE
AtLocation 99
InRoom 552
PrintMessage 58 (* ok *)
TurnFlagOFF 40
SwapLocations 551 552
DoneWithTurn
END_COMMAND

COMMAND CLOSE UMBRELLA
Present 378
PrintMessage 58
SwapLocations 378 377
DoneWithTurn
END_COMMAND

COMMAND CLOSE UMBRELLA
Present 379
PrintMessage 58
SwapLocations 379 377
DoneWithTurn
END_COMMAND

COMMAND CLOSE WARDROBE
AtLocation 26 (* kid's room *)
IsOpen 323
Present 501 (* dog under blanket *)
PrintMessage 241 (* dog stops *)
DoneWithTurn
END_COMMAND

COMMAND COVER DOBERMAN WITH BLANKET
AtLocation 26
FlagOFF 9
InRoom 500
IsCarrying 324
Destroy 324
Destroy 500
PutInCurrentRoom 501
PrintMessage 29
TurnFlagON 9
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND COVER DOBERMAN WITH BLANKET
AtLocation 26
InRoom 500
IsCarrying 324
FlagON 9 (* done it once *)
PrintMessage 32 (* fat chance *)
DoneWithTurn
END_COMMAND

COMMAND CUT BRAMBLES
AtLocation 33
IsCarrying 358 (* got axe *)
FlagOFF 12 (* brambles there *)
PrintMessage 82 (* cut a hole *)
PutInCurrentRoom 357 (* show it *)
TurnFlagON 12
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND CUT BRAMBLES
AtLocation 33
FlagON 12 (* brambles gone *)
PrintMessage 84 (* done it already *)
DoneWithTurn
END_COMMAND

COMMAND CUT BRAMBLES
AtLocation 33
FlagOFF 12 (* brambles there *)
NOT IsCarrying 358 (* no axe *)
PrintMessage 85 (* nothing suitable *)
DoneWithTurn
END_COMMAND

COMMAND DIG
AtLocation 72
FlagOFF 30
PrintMessage 179 (* find marble *)
PutInCurrentRoom 382
TurnFlagON 30
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND DIG
AtLocation 72
FlagON 30
PrintMessage 256 (* nothing more *)
DoneWithTurn
END_COMMAND

COMMAND DIG
AtLocation 71 (* sandy beach *)
PrintMessage 246 (* nothing but shells *)
DoneWithTurn
END_COMMAND

COMMAND DIG GRAVEL
AtLocation 72 (* beach *)
FlagOFF 30
PrintMessage 179 (* find marble *)
PutInCurrentRoom 382
TurnFlagON 30
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND DIG GRAVEL
AtLocation 72
FlagON 30
PrintMessage 256 (* nothing more *)
DoneWithTurn
END_COMMAND

COMMAND DIG SAND
AtLocation 71 (* sandy beach *)
PrintMessage 246 (* nothing but shells *)
DoneWithTurn
END_COMMAND

COMMAND DIG WALL
AtLocation 15 (* watchtower *)
Present 502 (* friendly dog *)
Present 340
PrintMessage 49 (* dog helps *)
BlankLine
SwapLocations 340 341 (* bring hole *)
PutInCurrentRoom 342 (* brick *)
PlusScore 2
LookAtRoom
DoneWithTurn
END_COMMAND

COMMAND DIG WALL
AtLocation 15
Present 341 (* hole *)
PrintMessage 59 (* why twice *)
DoneWithTurn
END_COMMAND

COMMAND DIG WALL
AtLocation 15 (* watchtower *)
Present 340 (* wall *)
NOT Present 502 (* no dog *)
PrintMessage 50 (* too much for one *)
DoneWithTurn
END_COMMAND

COMMAND DIP PLAQUE
AtLocation 114
IsCarrying 476 (* tarnished plaque *)
PrintMessage 371 (* cleans it *)
Destroy 476
GetIt 477 (* swaps plaques *)
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND DIP ANY
AtLocation 114
NOUNIsCarrying
PrintMessage 372 (* gone *)
DestroyNOUN
DoneWithTurn
END_COMMAND

COMMAND DRINK POTION
IsCarrying 409 (* blue bottle *)
CounterGT 3 0 (* drunk red one already *)
PrintMessage 294 (* two at once *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
TurnCounterOFF 3
TurnCounterOFF 2
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND DRINK POTION
IsCarrying 409 (* blue bottle *)
CounterEquals 3 0 (* not drunk other one *)
PrintMessage 195 (* drink it *)
TurnCounterON 2
Destroy 409 (* smash *)
DoneWithTurn
END_COMMAND

COMMAND DRINK LIQUID
IsCarrying 448 (* red bottle *)
CounterEquals 2 0 (* not drunk other one *)
PrintMessage 282 (* drink it *)
TurnCounterON 3
Destroy 449 (* smash *)
DoneWithTurn
END_COMMAND

COMMAND DRINK LIQUID
IsCarrying 448 (* red bottle *)
CounterGT 2 0 (* drunk other one *)
PrintMessage 294 (* two at once *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
TurnCounterOFF 3
TurnCounterOFF 2
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

:COMMAND DROP ALL
:RoomNeedsLight
:IsCarrying 325 (* torch *)
:SendAllToRoom 0
:PrintMessage 27 (* torch goes out *)
:DonewithTurn
:END_COMMAND

COMMAND DROP ALL
IsCarrying 325 (* lit torch *)
AtLocationGT 50 (* lake *)
AtLocationLT 71
PrintMessage 263 (* torch goes out in water *)
Destroy 325
END_COMMAND

COMMAND DROP ALL
IsCarrying 325 (* lit torch *)
AtLocation 11 (* moat *)
PrintMessage 263 (* torch goes out in water *)
Destroy 325
END_COMMAND

COMMAND DROP ALL
IsCarrying 394 (* small box *)
AtLocationGT 50 (* lake *)
AtLocationLT 71
PrintMessage 234 (* box floats *)
PutInCurrentRoom 426 (* floating box *)
Destroy 394
END_COMMAND

COMMAND DROP ALL
IsCarrying 394 (* small box *)
AtLocation 11 (* moat *)
PrintMessage 234 (* box floats *)
SendToRoom 410 10 (* second box *)
PutInCurrentRoom 426 (* floating box *)
Destroy 394
END_COMMAND

COMMAND DROP ALL
IsCarryingSomething
AtLocationGT 50 (* lake *)
AtLocationLT 71
PrintMessage 232 (* all sink *)
SendAllToRoom 0
DoneWithTurn
END_COMMAND

COMMAND DROP ALL
IsCarryingSomething
AtLocation 11 (* moat *)
PrintMessage 232 (* all sink *)
SendAllToRoom 0
DoneWithTurn
END_COMMAND

COMMAND DROP ALL
NOT IsCarryingSomething
AtLocationGT 50 (* lake *)
AtLocationLT 71
PrintMessage 264 (* nothing else *)
DoneWithTurn
END_COMMAND

COMMAND DROP ALL
NOT IsCarryingSomething
AtLocation 11 (* moat *)
PrintMessage 264 (* nothing else *)
DoneWithTurn
END_COMMAND

COMMAND DROP ANY
RoomNeedsLight
NOT LightPresent
DoneWithTurn
END_COMMAND

COMMAND DROP ANY
AtLocationGT 50 (* lake *)
AtLocationLT 71
NOUNIsCarrying
NOT NOUNIsNumber 394 (* marble box *)
PrintMessage 125 (* sinks *)
DestroyNOUN
DoneWithTurn
END_COMMAND

COMMAND DROP ANY
AtLocation 11 (* moat *)
NOUNIsCarrying
NOT NOUNIsNumber 394 (* marble box *)
PrintMessage 230 (* sinks *)
DestroyNOUN
DoneWithTurn
END_COMMAND

COMMAND DROP ANY
NOUNIsWearing
PrintMessage 6
DoneWithTurn
END_COMMAND

COMMAND DROP ARMOUR
AtLocation 92
IsCarrying 402
PrintMessage 331
Destroy 402
PutInCurrentRoom 550
DoneWithTurn
END_COMMAND

COMMAND DROP ARMOUR
NOT AtLocation 92
IsCarrying 402
PrintMessage 58
DropIt 402
DoneWithTurn
END_COMMAND

COMMAND DROP AXE
IsCarrying 358
DropIt 358
PrintMessage 88
DoneWithTurn
END_COMMAND

COMMAND DROP BISCUITS
AtLocation 26
Present 335
Present 500 (* ferocious dog *)
PrintMessage 42 (* dog eats them *)
DestroyNOUN
DoneWithTurn
END_COMMAND

COMMAND DROP BISCUITS
AtLocation 26
Present 335
Present 501 (* covered dog *)
PrintMessage 44 (* dog eats bix, closes door *)
DestroyNOUN
CloseIt 323 (* close wardrobe *)
TurnFlagOFF 6
DoneWithTurn
END_COMMAND

COMMAND DROP BOX
AtLocation 11 (* moat *)
IsCarrying 394 (* marble box *)
PrintMessage 231 (* floats *)
PutInCurrentRoom 394
SendToRoom 410 10 (* other box *)
DoneWithTurn
END_COMMAND

COMMAND DROP BOX
AtLocationGT 50 (* lake *)
AtLocationLT 71 (* lake *)
IsCarrying 394 (* marble box *)
PrintMessage 231 (* floats *)
PutInCurrentRoom 394
SendToRoom 410 10 (* other box *)
DoneWithTurn
END_COMMAND

COMMAND DROP KEY
IsCarrying 462 (* glass key *)
PrintMessage 314 (* breaks *)
Destroy 462
DoneWithTurn
END_COMMAND

COMMAND DROP TORCH
IsCarrying 325
PrintMessage 27
PutInCurrentRoom 326
Destroy 325
DoneWithTurn
END_COMMAND

COMMAND ENTER CAVE
AtLocation 40
GoToRoom 41
DoneWithTurn
END_COMMAND

COMMAND ENTER FIREPLACE
AtLocation 80
GoToRoom 93
DoneWithTurn
END_COMMAND

COMMAND EXAMINE ANY
RoomNeedsLight
NOT LightPresent
DoneWithTurn
END_COMMAND

COMMAND EXAMINE ARMOUR
Present 318
FlagOFF 15 (* not got umbrella *)
FlagOFF 27 (* just found it *)
PrintMessage 135
PlusScore 2
TurnFlagON 27
DoneWithTurn
END_COMMAND

COMMAND EXAMINE ARMOUR
Present 318
FlagOFF 15
FlagON 27 (* no score this time *)
PrintMessage 135
DoneWithTurn
END_COMMAND

COMMAND EXAMINE BED
AtLocation 14
FlagOFF 7
PrintMessage 19
DoneWithTurn
END_COMMAND

REM: COMMAND EXAMINE BEEHIVE
REM: AtLocation 111
REM: FlagOFF 48
REM: DescribeThing 475 (* hive *)
REM: BlankLine
REM: PrintMessage 354 (* find scroll)
REM: PutInCurrentRoom 480
REM: TurnFlagON 48
REM: DonewithTurn
REM: END_COMMAND

REM: COMMAND EXAMINE BEEHIVE
REM: AtLocation 111
REM: FlagON 48
REM: DescribeThing 475
REM: DoneWithTurn
REM: END_COMMAND

COMMAND EXAMINE BLANKET
AtLocation 14
Present 339
FlagOFF 7
PrintMessage 41
DoneWithTurn
END_COMMAND

COMMAND EXAMINE BLANKET
AtLocation 26
Present 501 (* dog wearing it *)
DescribeThing 324
DoneWithTurn
END_COMMAND

COMMAND EXAMINE BOAT
AtLocationGT 49
AtLocationLT 73
FlagOFF 14 (* sail lowered *)
DescribeThing 373
PrintMessage 117
DoneWithTurn
END_COMMAND

COMMAND EXAMINE BOAT
AtLocationGT 49
AtLocationLT 73
FlagON 14 (* sail raised *)
DescribeThing 373
PrintMessage 118
DoneWithTurn
END_COMMAND

COMMAND EXAMINE BOOKS
AtLocation 37 (* schoolroom *)
FlagOFF 28
PrintMessage 115 (* names *)
TurnFlagON 28
PlusScore 2
DonewithTurn
END_COMMAND

COMMAND EXAMINE BOOKS
AtLocation 37
FlagON 28
PrintMessage 115
DonewithTurn
END_COMMAND

COMMAND EXAMINE BOOKS
AtLocation 89
FlagOFF 41
PrintMessage 326 (* find scroll *)
PutInCurrentRoom 470
TurnFlagON 41
PlusScore 1
DonewithTurn
END_COMMAND

COMMAND EXAMINE BOOKS
AtLocation 89
FlagON 41
PrintMessage 327 (* find nothing *)
DonewithTurn
END_COMMAND

COMMAND EXAMINE BOULDERS
AtLocation 39
IsNowhere 365
DescribeThing 364 (* boulders *)
PrintMessage 96 (* teeny rock *)
PutInCurrentRoom 365
DoneWithTurn
END_COMMAND

COMMAND EXAMINE BOULDERS
IsSomewhere 365 (* rock *)
DescribeThing 364 (* boulders *)
DoneWithTurn
END_COMMAND

COMMAND EXAMINE BUILDING
AtLocation 4  (* building on island *)
PrintMessage 190
DoneWithTurn
END_COMMAND

COMMAND EXAMINE BUTTON
AtLocation 29
DescribeThing 353
DoneWithTurn
END_COMMAND

COMMAND EXAMINE CARPET
AtLocation 20
IsWearing 302 (* boots *)
PrintMessage 201
DoneWithTurn
END_COMMAND

COMMAND EXAMINE CARPET
AtLocation 20
NOT IsWearing 302 (* boots *)
PrintMessage 238
DoneWithTurn
END_COMMAND

COMMAND EXAMINE CARVING
AtLocation 73 (* pillar *)
FlagOFF 29
DescribeThing 430
PlusScore 2
TurnFlagON 29
DoneWithTurn
END_COMMAND

COMMAND EXAMINE CARVING
AtLocation 73
FlagON 29
PrintMessage 248 (* not much left *)
DoneWithTurn
END_COMMAND

COMMAND EXAMINE CASTLE
AtLocation 8
OR
AtLocation 9
OR
AtLocation 10
PrintMessage 189
DoneWithTurn
END_COMMAND

COMMAND EXAMINE CAVE
AtLocation 47
PrintMessage 111
TurnFlagON 13
DoneWithTurn
END_COMMAND

COMMAND EXAMINE CLOAK
NounPresent (* cloak here *)
OpenIt 332 (* open pocket *)
DescribeThing 332 (* tell player about pocket *)
DonewithTurn
END_COMMAND

COMMAND EXAMINE CUPBOARD
AtLocation 28
IsClosed 351
DescribeThing 351
DoneWithTurn
END_COMMAND

COMMAND EXAMINE CUPBOARD
AtLocation 28
NOT IsClosed 351
PrintMessage 70
DoneWithTurn
END_COMMAND

COMMAND EXAMINE CYLINDER
AtLocation 114
DescribeThing 558
DoneWithTurn
END_COMMAND

COMMAND EXAMINE DEPRESSION
Present 394 (* box *)
DescribeThing 399
DoneWithTurn
END_COMMAND

COMMAND EXAMINE DOOR
AtLocation 75
FlagON 16 (* door open *)
PrintMessage 23 (* it's open *)
DoneWithTurn
END_COMMAND

COMMAND EXAMINE DOOR
AtLocation 75
FlagOFF 16 (* closed *)
PrintMessage 157 (* closed and locked *)
DoneWithTurn
END_COMMAND

COMMAND EXAMINE DOOR
AtLocation 76
FlagON 16 (* door open *)
PrintMessage 23 (* it's open *)
DoneWithTurn
END_COMMAND

COMMAND EXAMINE DOOR
AtLocation 76
FlagOFF 16 (* closed *)
PrintMessage 157 (* closed and locked *)
DoneWithTurn
END_COMMAND

COMMAND EXAMINE DOOR
AtLocation 105
FlagON 43 (* door open *)
PrintMessage 23 (* it's open *)
DoneWithTurn
END_COMMAND

COMMAND EXAMINE DOOR
AtLocation 105
FlagOFF 43 (* closed *)
PrintMessage 157 (* closed and locked *)
DoneWithTurn
END_COMMAND

COMMAND EXAMINE DOOR
AtLocation 106
FlagON 43 (* door open *)
PrintMessage 347 (* jammed open *)
DoneWithTurn
END_COMMAND

COMMAND EXAMINE DOOR
AtLocation 108
PrintMessage 346 (* jammed *)
DoneWithTurn
END_COMMAND

COMMAND EXAMINE DESK
AtLocation 28
PutInCurrentRoom 348
DescribeThing 347 (* describe desk *)
PrintMessage 69 (* tell re inkwell *)
DoneWithTurn
END_COMMAND

COMMAND EXAMINE DOOR
AtLocation 29
DescribeThing 352
DoneWithTurn
END_COMMAND

COMMAND EXAMINE GRAVEL
AtLocation 72 (* beach *)
PrintMessage 199
DoneWithTurn
END_COMMAND

COMMAND EXAMINE HOLE
AtLocation 41
DescribeThing 366
DoneWithTurn
END_COMMAND

COMMAND EXAMINE HOLE
AtLocation 17
PrintMessage 182
DoneWithTurn
END_COMMAND

COMMAND EXAMINE HOOD
IsCarrying 332
OR
IsWearing 332
OR
InRoom 332
PrintMessage 60
DoneWithTurn
END_COMMAND

COMMAND EXAMINE LAKE
ATLocationGT 48
ATLOcationLT 74
PrintMessage 223
DoneWithTurn
END_COMMAND

COMMAND EXAMINE LEDGE
AtLocation 47
FlagON 13
PrintMessage 114
DoneWithTurn
END_COMMAND

COMMAND EXAMINE MAST
AtLocationGT 49
AtLocationLT 73
DescribeThing 374
DoneWithTurn
END_COMMAND

COMMAND EXAMINE PILLAR
AtLocation 71 (* sandy beach *)
DescribeThing 429
DoneWithTurn
END_COMMAND

COMMAND EXAMINE POCKET
Present 332 (* cloak here *)
OpenIt 330 (* open pocket *)
DescribeThing 330 (* mention bickies *)
DoneWithTurn
END_COMMAND

COMMAND EXAMINE POOL
AtLocation 114
Describething 557
DonewithTurn
END_COMMAND

COMMAND EXAMINE ROCK
AtLocation 73 (* pillar *)
FlagOFF 29
DescribeThing 430
PlusScore 2
TurnFlagON 29
DoneWithTurn
END_COMMAND

COMMAND EXAMINE ROCK
AtLocation 73
FlagON 29
PrintMessage 248 (* not much left *)
DoneWithTurn
END_COMMAND

COMMAND EXAMINE ROPE
AtLocation 12 (* outside *)
Present 337
FlagOFF 10 (* not taken rope yet *)
PrintMessage 40
DoneWithTurn
END_COMMAND

COMMAND EXAMINE ROPE
AtLocation 13 (* inside *)
Present 338
FlagOFF 10 (* not taken rope yet *)
PrintMessage 40
DoneWithTurn
END_COMMAND

COMMAND EXAMINE SAIL
AtLocationGT 49
AtLocationLT 73
DescribeThing 376
DoneWithTurn
END_COMMAND

COMMAND EXAMINE SEAT
AtLocationGT 49
AtLocationLT 73
DescribeThing 375
DoneWithTurn
END_COMMAND

COMMAND EXAMINE SIGN
AtLocation 89
OR
AtLocation 92
PrintMessage 301 (* beware *)
DonewithTurn
END_COMMAND

COMMAND EXAMINE STALAGMITE
AtLocation 41
IsSomewhere 317 (* rope *)
OR
IsSomewhere 362 (* rope tied to broken branch *)
DescribeThing 367
DoneWithTurn
END_COMMAND

COMMAND EXAMINE TABLE
AtLocation 112
NOT InRoom 559 (* trapdoor *)
PrintMessage 341
PutInCurrentRoom 559
DoneWithTurn
END_COMMAND

COMMAND EXAMINE TABLE
AtLocation 112
InRoom 559 (* trapdoor *)
PrintMessage 342
DoneWithTurn
END_COMMAND

COMMAND EXAMINE TAPESTRY
AtLocation 20
PrintMessage 200
DoneWithTurn
END_COMMAND

COMMAND EXAMINE TREE
AtLocation 5
PrintMessage 189
DoneWithTurn
END_COMMAND

COMMAND EXAMINE TURRET
AtLocation 9
OR
AtLocation 10
DescribeThing 415
DoneWithTurn
END_COMMAND

COMMAND EXAMINE UMBRELLA
AtLocation 13
FlagOFF 15
PrintMessage 136
DoneWithTurn
END_COMMAND

COMMAND EXAMINE WALL
AtLocation 21
IsNowhere 325
OR
IsNowhere 326
PrintMessage 24 (* torches *)
DoneWithTurn
END_COMMAND

COMMAND EXAMINE WALL
AtLocation 15
Present 502 (* friendly dog *)
Present 340 (* wall *)
PrintMessage 48 (* dog scrapes at wall *)
DoneWithTurn
END_COMMAND

COMMAND EXAMINE WALL
AtLocation 15
Present 341 (* hole *)
DescribeThing 341
DoneWithTurn
END_COMMAND

COMMAND EXAMINE WALL
AtLocation 15
NOT Present 502 (* no friendly dog *)
DescribeThing 340 (* describe wall *)
DoneWithTurn
END_COMMAND

COMMAND EXAMINE WALL
AtLocation 45 (* warm cave *)
NOT Present 403 (* no hole *)
PrintMessage 168
DoneWithTurn
END_COMMAND

COMMAND EXAMINE WALL
AtLocation 45 (* warm cave *)
Present 403 (* hole *)
PrintMessage 170
DoneWithTurn
END_COMMAND

COMMAND EXAMINE WALL
AtLocation 47  (* cave *)
PrintMessage 111
TurnFlagON 13
DoneWithTurn
END_COMMAND

COMMAND EXAMINE WARDROBE
AtLocation 26
FlagOFF 6
DescribeThing 323
PrintMessage 22
DoneWithTurn
END_COMMAND

COMMAND EXAMINE WARDROBE
AtLocation 26
FlagON 6
DescribeThing 323
PrintMessage 23
DoneWithTurn
END_COMMAND

COMMAND EXAMINE WOMAN
AtLocation 103
DescribeThing 456
DoneWithTurn
END_COMMAND

COMMAND EXAMINE WOMAN
InRoom 510
DescribeThing 510
DoneWithTurn
END_COMMAND

COMMAND EXAMINE ALL
PrintMessage 36
DoneWithTurn
END_COMMAND

COMMAND EXAMINE ANY
NOT NOUNpresent
PrintMessage 3
DoneWithTurn
END_COMMAND

COMMAND EXAMINE ANY
NOT LightPresent
PrintMessage 116
DoneWithTurn
END_COMMAND

COMMAND EXAMINE ANY
NounIsLocated 323 (* thing in wardrobe *)
IsOpen 323 (* wardrobe is open *)
PrintMessage 37
DoneWithTurn
END_COMMAND

COMMAND FEED BISCUITS TO DOG
AtLocation 26
Present 500
IsCarrying 335
Destroy 335
Destroy 500
PutInCurrentRoom 502 (* friendly dog *)
PrintMessage 34
DoneWithTurn
END_COMMAND

COMMAND FEED BISCUITS TO DOG
AtLocation 26
Present 501 (* dog covered *)
IsCarrying 335
PrintMessage 43
DoneWithTurn
END_COMMAND

COMMAND FEED DOG WITH BISCUITS
AtLocation 26
Present 500
IsCarrying 335
Destroy 335
Destroy 500
PutInCurrentRoom 502 (* friendly dog *)
PrintMessage 34
DoneWithTurn
END_COMMAND

COMMAND FEED DOG WITH BISCUITS
AtLocation 26
Present 501 (* dog covered *)
IsCarrying 335
PrintMessage 43
DoneWithTurn
END_COMMAND

COMMAND GET ALL
AtLocation 84 (* music room *)
InRoom 442
OR
InRoom 443
OR
InRoom 444
OR
InRoom 445
PrintMessage 296 (* too valuable *)
DoneWithTurn
END_COMMAND

COMMAND GET ALL
AtLocation 11 (* moat *)
InRoom 394 (* marbles box *)
PrintMessage 58 (* okay *)
GetIt 394
Destroy 410 (* other box *)
DoneWithTurn
END_COMMAND

COMMAND GET ALL
AtLocation 11 (* moat *)
InRoom 426 (* other marbles box *)
PrintMessage 58 (* okay *)
GetIt 426
Destroy 410 (* other other box *)
DoneWithTurn
END_COMMAND

COMMAND GET ALL
AtLocation 38 (* cliff bottom *)
InRoom 362 (* branch with rope *)
PrintMessage 236 (* not that *)
DoneWithTurn
END_COMMAND

COMMAND GET ANY
RoomNeedsLight
NOT LightPresent
DoneWithTurn
END_COMMAND

COMMAND GET ANY
AtLocation 28
InRoom 503
PrintMessage 80
DoneWithTurn
END_COMMAND

COMMAND GET ARMOUR
NOT AtLocation 92
InRoom 402
GetIt 402
PrintMessage 58 (* ok *)
DoneWithTurn
END_COMMAND

COMMAND GET ARMOUR
AtLocation 92
InRoom 550
PrintMessage 332 (* pinned to disk *)
DoneWithTurn
END_COMMAND

COMMAND GET AXE
AtLocation 24
InRoom 354
Destroy 354
GetIt 358
PrintMessage 55
DoneWithTurn
END_COMMAND

COMMAND GET BISCUITS
Present 335 (* biscuits *)
SomethingInside 330 (* bix in pocket *)
GetIt 335 (* get them *)
PrintMessage 47
TurnFlagON 11
DoneWithTurn
END_COMMAND

COMMAND GET BISCUITS
NOUNIsLocated 332 (* bickies in pocket *)
Present 332 (* cloak here *)
GetIt 335 (* get bickies *)
Destroy 331
DoneWithTurn
END_COMMAND

COMMAND GET BLANKET
AtLocation 14
FlagOFF 7
PrintMessage 26
TurnFlagON 7
GetIt 324
Destroy 339 (* folded blanket *)
DoneWithTurn
END_COMMAND

COMMAND GET BLANKET
AtLocation 26
Present 501 (* dog covered *)
PrintMessage 33
Destroy 501
PutInCurrentRoom 500
PutInCurrentRoom 324
CloseIt 323
DoneWithTurn
END_COMMAND

COMMAND GET BOOK
AtLocation 26
VariableEquals 2 2
FlagON 6 (* wardrobe open *)
NOUNIsLocated 323 (* item is in wardrobe *)
Destroy 328
PutInCurrentRoom 333
GetIt 333
PrintMessage 39
SubtractFromVariable 2 1
PlusScore 1
DonewithTurn
END_COMMAND

COMMAND GET BOOK
AtLocation 26
VariableEquals 2 1
FlagON 6 (* wardrobe open *)
NOUNIsLocated 323 (* item is in wardrobe *)
PrintMessage 31 (* dog goes crazy *)
PutInCurrentRoom 324 (* blanket *)
Destroy 501 (* swap dogs *)
PutInCurrentRoom 500
TurnFlagOFF 6 (* close wardrobe *)
CloseIt 323
PutInCurrentRoom 333
SubtractFromVariable 2 1
PlusScore 1
DonewithTurn
END_COMMAND

COMMAND GET BOOKS
AtLocation 37 (* school room *)
PrintMessage 218 (* don't disturb *)
DoneWithTurn
END_COMMAND

COMMAND GET BOX
InRoom 410 (* box in water *)
PrintMessage 192 (* can't reach *)
DoneWithTurn
END_COMMAND

COMMAND GET BOX
InRoom 394 (* box in water by you *)
PrintMessage 58 (* okay *)
GetIt 394
Destroy 410 (* other box *)
DonewithTurn
END_COMMAND

COMMAND GET BOX
InRoom 426 (* t'other box in water by you *)
PrintMessage 58 (* okay *)
GetIt 394
Destroy 426 (* other box *)
Destroy 410 (* other other box! *)
DonewithTurn
END_COMMAND

COMMAND GET BRANCH
InRoom 362 (* broken branch with tied rope *)
PrintMessage 105 (* untie rope first *)
DoneWithTurn
END_COMMAND

COMMAND GET BRICK
AtLocation 15 (* watchtower *)
IsNowhere 342 (* not already done it *)
Present 502 (* friendly dog *)
PrintMessage 49 (* dog helps *)
SwapLocations 340 341 (* bring hole *)
PutInCurrentRoom 342 (* brick *)
DoneWithTurn
END_COMMAND

COMMAND GET BRICK
AtLocation 15 (* watchtower *)
IsNowhere 342 (* not already done it *)
NOT Present 502 (* no dog *)
PrintMessage 50 (* too much for one *)
DoneWithTurn
END_COMMAND

COMMAND GET CLOAK
AtLocation 26
VariableEquals 2 2
FlagON 6 (* wardrobe open *)
NOUNIsLocated 323 (* item is in wardrobe *)
PrintMessage 39
Destroy 327
PutInCurrentRoom 332
GetIt 332
SubtractFromVariable 2 1
PlusScore 1
DonewithTurn
END_COMMAND

COMMAND GET CLOAK
AtLocation 26
VariableEquals 2 1
FlagON 6 (* wardrobe open *)
NOUNIsLocated 323 (* item is in wardrobe *)
PrintMessage 31 (* dog goes crazy *)
PutInCurrentRoom 324 (* blanket *)
Destroy 501 (* swap dogs *)
PutInCurrentRoom 500
TurnFlagOFF 6 (* close wardrobe *)
CloseIt 323
PutInCurrentRoom 332
SubtractFromVariable 2 1
PlusScore 1
DonewithTurn
END_COMMAND

COMMAND GET CLOAK
InRoom 332
GetIt 332
PrintMessage 55
DoneWithTurn
END_COMMAND

COMMAND GET CRYSTAL
AtLocation 102
InRoom 467
PrintMessage 306
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND GET CUBE
AtLocation 26
VariableEquals 2 2
FlagON 6 (* wardrobe open *)
NOUNIsLocated 323 (* item is in wardrobe *)
Destroy 329
PutInCurrentRoom 334
GetIt 334
PrintMessage 39
SubtractFromVariable 2 1
PlusScore 1
DonewithTurn
END_COMMAND

COMMAND GET CUBE
AtLocation 26
VariableEquals 2 1
FlagON 6 (* wardrobe open *)
NOUNIsLocated 323 (* item is in wardrobe *)
PrintMessage 31 (* dog goes crazy *)
PutInCurrentRoom 324 (* blanket *)
Destroy 501 (* swap dogs *)
PutInCurrentRoom 500
TurnFlagOFF 6 (* close wardrobe *)
CloseIt 323
PutInCurrentRoom 334
SubtractFromVariable 2 1
PlusScore 1
DonewithTurn
END_COMMAND

COMMAND GET CYMBALS
AtLocation 84
FlagOFF 35 (* on h *)
PrintMessage 274 (* take it off h *)
GetIt 442
TurnFlagON 35
DoneWithTurn
END_COMMAND

COMMAND GET KEY
AtLocation 95
InRoom 462 (* glass key *)
CounterEquals 4 0 (* not turned hourglass *)
PrintMessage 285 (* dead *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND GET KEY
AtLocation 95
InRoom 462 (* glass key *)
NOT CounterEquals 4 0 (* turned hourglass *)
PrintMessage 288 (* got it *)
GetIt 462
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND GET PEN
AtLocation 28
IsLocated 349 348 (* pen in inkwell *)
IsClosed 351 (* cupboard *)
Destroy 349
GetIt 350 (* get other pen *)
PrintMessage 67
DoneWithTurn
END_COMMAND

COMMAND GET PEN
AtLocation 28
IsLocated 349 348 (* pen in inkwell *)
IsOpen 351 (* cupboard *)
PrintMessage 72
DoneWithTurn
END_COMMAND

COMMAND GET PLANK
InRoom 453
OR
InRoom 454
PrintMessage 279
PutInCurrentRoom 450
Destroy 453
Destroy 454
DoneWithTurn
END_COMMAND

COMMAND GET PLANK
InRoom 455
PrintMessage 279
PutInCurrentRoom 450
Destroy 455
DoneWithTurn
END_COMMAND

COMMAND GET ROPE
InRoom 303
 OR
InRoom 304
SwapLocations 303 315
SwapLocations 304 316
Destroy 337
Destroy 338
GetIt 317
PrintMessage 18
TurnFlagON 10 (* rope taken *)
DoneWithTurn
END_COMMAND

COMMAND GET ROPE
InRoom 362 (* broken branch with tied rope *)
PrintMessage 105 (* untie rope first *)
DoneWithTurn
END_COMMAND

COMMAND GET SACK
AtLocation 76
PrintMessage 158 (* too heavy *)
DoneWithTurn
END_COMMAND

COMMAND GET SHIELD
AtLocation 11
FlagOFF 5
PrintMessage 13
DoneWithTurn
END_COMMAND

COMMAND GET SHIELD
AtLocation 99
FlagOFF 5 (* first time *)
PrintMessage 295
GetIt 464
TurnFlagON 5
DoneWithTurn
END_COMMAND

COMMAND GET SCROLL
AtLocation 111
InRoom 480
NOT IsWearing 457 (* gloves *)
NOT IsWearing 469 (* net *)
PrintMessage 357 (* bees sting hands and face *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND GET SCROLL
AtLocation 111
InRoom 480
NOT IsWearing 457 (* gloves *)
PrintMessage 355 (* bees sting hands *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND GET SCROLL
AtLocation 111
InRoom 480
NOT IsWearing 469 (* net *)
PrintMessage 356 (* bees sting face *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND GET SCROLL
AtLocation 111
InRoom 480
IsWearing 457
IsWearing 469
PrintMessage 358 (* get it safely *)
Destroy 480
GetIt 481
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND GET SHIELD
Present 464
FlagON 5 (* not first time *)
PrintMessage 58 (* ok *)
GetIt 464
DoneWithTurn
END_COMMAND

COMMAND GET SPIKE
AtLocation 113
Present 479
PrintMessage 340 (* pull from wall *)
GetIt 473
Destroy 479
DoneWithTurn
END_COMMAND

COMMAND GET STAFF
InRoom 474
NOT Present 514 (* depressed Oklib *)
GetIt 474
PrintMessage 392
DoneWithTurn
END_COMMAND

COMMAND GET STAFF
InRoom 474
Present 514 (* depressed Oklib *)
PrintMessage 394 (* he stops you *)
DoneWithTurn
END_COMMAND

COMMAND GET TORCH
AtLocation 21
FlagOFF 8
GetIt 325
TurnFlagON 8
PrintMessage 21
DonewithTurn
END_COMMAND

COMMAND GET TORCH
AtLocation 21
InRoom 326 (* burnt-out torch *)
GetIt 326
PrintMessage 58
DoneWithTurn
END_COMMAND

COMMAND GET TORCH
AtLocation 21
FlagON 8
PrintMessage 25
DoneWithTurn
END_COMMAND

COMMAND GET TRUMPET
AtLocation 84
FlagOFF 36 (* on h *)
PrintMessage 274 (* take it off h *)
GetIt 443
TurnFlagON 36
DoneWithTurn
END_COMMAND

COMMAND GET UMBRELLA
AtLocation 13
FlagOFF 15 (* not got it yet *)
GetIt 377
TurnFlagON 15
PrintMessage 58
DoneWithTurn
END_COMMAND

COMMAND GET ANY
NOUNIsCreature
PrintMessage 333 (* imposs *)
DoneWithTurn
END_COMMAND

COMMAND GET ALL FROM BOX
Present 394 (* marble box *)
IsOpen 394
SomethingInside 394
RelocateAll 394 1
PrintMessage 58
DoneWithTurn
END_COMMAND

COMMAND GET ALL FROM BOX
Present 343 (* marble box *)
IsOpen 343
SomethingInside 343
RelocateAll 343 1
PrintMessage 58
DoneWithTurn
END_COMMAND

COMMAND GIVE BISCUITS TO DOG
AtLocation 26
Present 500
IsCarrying 335
Destroy 335
Destroy 500
PutInCurrentRoom 502 (* friendly dog *)
PrintMessage 34
DoneWithTurn
END_COMMAND

COMMAND GIVE BISCUITS TO DOG
AtLocation 26
Present 501 (* dog covered *)
IsCarrying 335
PrintMessage 43
DoneWithTurn
END_COMMAND

COMMAND GIVE BRANCH TO DRAGON
AtLocation 78 (* lair *)
FlagOFF 20 (* not had branch *)
IsCarrying 360 (* broken branch *)
PrintMessage 166 (* ta *)
BlankLine
PrintMessage 178 (* riddle and marble *)
TurnFlagON 20
PlusScore 2
PutInCurrentRoom 385 (* brown marble *)
DoneWithTurn
END_COMMAND

COMMAND GIVE ANY TO DRAGON
AtLocation 78 (* lair *)
FlagOFF 20 (* not had branch *)
NOUNisCarrying
PrintMessage 167 (* takes it anyway *)
DestroyNOUN
DoneWithTurn
END_COMMAND

COMMAND GIVE ANY TO DRAGON
AtLocation 78 (* lair *)
FlagON 20 (* had branch *)
NOUNisCarrying
PrintMessage 175 (* too kind *)
DestroyNOUN
DoneWithTurn
END_COMMAND

COMMAND GIVE RING TO HAND
AtLocation 120
NOUNPresent
PrintMessage 375 (* hand goes *)
Destroy 516
Destroy 517
Destroy 393
PutInCurrentRoom 518 (* glass wall *)
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND GIVE WHISTLE TO OKLIB
AtLocation 121
Present 468 (* whistle *)
InRoom 514 (* sad Oklib *)
InRoom 502 (* dog *)
PrintMessage 387
SwapLocations 515 514
Destroy 502
AddToGroup 515 (* happy Oklib and dog *)
PlusScore 2
WaitForReturn
ClearScreen
LookAtRoom
DoneWithTurn
END_COMMAND

COMMAND GIVE WHISTLE TO OKLIB
AtLocation 121
Present 468 (* whistle *)
InRoom 514 (* sad Oklib *)
NOT InRoom 502 (* dog *)
PrintMessage 389
Destroy 468
DoneWithTurn
END_COMMAND

COMMAND GIVE ANY TO OKLIB
AtLocation 121
Present 514
NOUNIsCarrying
PrintMessage 388
DestroyNOUN
DoneWithTurn
END_COMMAND

COMMAND GIVE ANY
PrintMessage 187 (* to who? *)
DoneWithTurn
END_COMMAND

COMMAND HELP
PrintMessage 393
DonewithTurn
END_COMMAND

COMMAND HIT CRYSTAL
AtLocation 102
InRoom 467
PrintMessage 306
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND HIT WALL
AtLocation 45 (* cave *)
IsCarrying 396 (* sledgehammer *)
PrintMessage 164
ChangePassageway 4 78 (* make passage west to lair *)
PutInCurrentRoom 403 (* hole *)
BlankLine
LookAtRoom
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND HIT WALL
AtLocation 45
NOT IsCarrying 396 (* no hammer *)
PrintMessage 165 (* nothing suitable *)
DoneWithTurn
END_COMMAND

COMMAND JUMP
RoomNeedsLight
NOT LightPresent
DoneWithTurn
END_COMMAND

COMMAND JUMP OFF CLIFF
AtLocation 7
PrintMessage 102
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* bye bye dog if here *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND JUMP INTO HOLE
AtLocation 41
PrintMessage 103
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND JUMP TO LEDGE
AtLocation 47
FlagON 13
PrintMessage 113
Blankline
GoToRoom 48
DoneWithTurn
END_COMMAND

COMMAND JUMP TO LEDGE
AtLocation 47
FlagOFF 13
PrintMessage 112
DoneWithTurn
END_COMMAND

COMMAND JUMP
AtLocation 47
FlagON 13
PrintMessage 113
Blankline
GoToRoom 48
DoneWithTurn
END_COMMAND

COMMAND JUMP
AtLocation 47
FlagOFF 13
PrintMessage 112
DoneWithTurn
END_COMMAND

COMMAND JUMP
AtLocation 48 (* ledge *)
PrintMessage 244 (* snap, bang *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* bye bye dog if here *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND JUMP
AtLocation 114
IsNowhere 482
PrintMessage 366 (* jump acid *)
BlankLine
GoToRoom 115
DoneWithTurn
END_COMMAND

COMMAND JUMP
AtLocation 114
IsSomewhere 482
PrintMessage 366 (* jump acid *)
BlankLine
GoToRoom 116
DoneWithTurn
END_COMMAND

COMMAND JUMP
AtLocation 115
FlagOFF 50
PrintMessage 368
BlankLine
GoToRoom 114
DoneWithTurn
END_COMMAND

COMMAND JUMP
AtLocation 116
FlagOFF 50
PrintMessage 368
BlankLine
GoToRoom 114
DoneWithTurn
END_COMMAND

COMMAND JUMP
AtLocation 115
FlagON 50
PrintMessage 364 (* cylinder has sunk *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND JUMP
AtLocation 116
FlagON 50
PrintMessage 364 (* cylinder has sunk *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND JUMP
PrintMessage 101
DoneWithTurn
END_COMMAND

COMMAND KILL ANY
PrintMessage 235 (* peaceful game *)
DonewithTurn
END_COMMAND

COMMAND LIGHT TORCH
AtLocation 28 (* giant's study *)
FlagOFF 55
IsCarrying 326 (* out torch *)
PrintMessage 395 (* light from fire *)
SwapLocations 325 326
TurnFlagON 55
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND LIGHT TORCH
AtLocation 28 (* giant's study *)
FlagON 55
IsCarrying 326 (* out torch *)
PrintMessage 395 (* light from fire *)
SwapLocations 325 326
DoneWithTurn
END_COMMAND

COMMAND LIGHT TORCH
AtLocation 28 (* giant's study *)
IsCarrying 424 (* soggy torch *)
PrintMessage 396 (* too wet *)
DoneWithTurn
END_COMMAND

COMMAND LIGHT TORCH
AtLocation 28 (* giant's study *)
IsCarrying 325 (* lit torch *)
PrintMessage 397 (* already alight *)
DoneWithTurn
END_COMMAND

COMMAND LIGHT ANY
PrintMessage 237 (* pyromaniac *)
DoneWithTurn
END_COMMAND

COMMAND LOCK DOOR
AtLocation 76
FlagOFF 16 (* door locked *)
PrintMessage 151 (* already shut *)
DoneWithTurn
END_COMMAND

COMMAND LOCK DOOR
AtLocation 76
FlagON 16 (* door locked *)
NOT IsCarrying 391 (* large key *)
PrintMessage 149 (* not got right key *)
DoneWithTurn
END_COMMAND

COMMAND LOCK DOOR
AtLocation 76
FlagON 16 (* door unlocked *)
IsCarrying 391 (* large key *)
PrintMessage 150 (* close and lock it *)
TurnFlagOFF 16 (* door locked again *)
DoneWithTurn
END_COMMAND

COMMAND LOCK DOOR
AtLocation 75
FlagOFF 16 (* door locked *)
PrintMessage 151 (* already shut *)
DoneWithTurn
END_COMMAND

COMMAND LOCK DOOR
AtLocation 75
FlagON 16 (* door locked *)
NOT IsCarrying 391 (* large key *)
PrintMessage 149 (* not got right key *)
DoneWithTurn
END_COMMAND

COMMAND LOCK DOOR
AtLocation 75
FlagON 16 (* door unlocked *)
IsCarrying 391 (* large key *)
PrintMessage 150 (* close and lock it *)
TurnFlagOFF 16 (* door locked again *)
DoneWithTurn
END_COMMAND

COMMAND LOCK DOOR
AtLocation 105
FlagOFF 43 (* door locked *)
PrintMessage 151 (* already shut *)
DoneWithTurn
END_COMMAND

COMMAND LOCK DOOR
AtLocation 105
OR
AtLocation 106
FlagON 43 (* door unlocked *)
PrintMessage 347 (* jammed open *)
DoneWithTurn
END_COMMAND

COMMAND LOCK DOOR
AtLocation 108
PrintMessage 346 (* jammed shut *)
DoneWithTurn
END_COMMAND

COMMAND LOWER ROPE
AtLocation 41 (* cave *)
Present 368 (* rope tied to stalag *)
PrintMessage 213 (* already lowered *)
DonewithTurn
END_COMMAND

COMMAND LOWER SAIL
AtLocationGT 49 (* in boat *)
AtLocationLT 74
FlagON 14 (* sail raised *)
PrintMessage 120
TurnFlagOFF 14 (* sail down *)
DoneWithTurn
END_COMMAND

COMMAND LOWER SAIL
AtLocationGT 49 (* in boat *)
AtLocationLT 74
FlagON 14 (* sail down *)
PrintMessage 122
DoneWithTurn
END_COMMAND

COMMAND MOVE BRICK
AtLocation 15 (* watchtower *)
Present 502 (* friendly dog *)
Present 340 (* wall *)
PrintMessage 49 (* dog helps *)
SwapLocations 340 341 (* bring hole *)
PutInCurrentRoom 342 (* brick *)
PlusScore 2
LookAtRoom
DoneWithTurn
END_COMMAND

COMMAND MOVE BRICK
AtLocation 15
Present 341 (* hole *)
PrintMessage 59 (* why twice *)
DoneWithTurn
END_COMMAND

COMMAND MOVE BRICK
AtLocation 15 (* watchtower *)
Present 340 (* wall *)
NOT Present 502 (* no dog *)
PrintMessage 50 (* too much for one *)
DoneWithTurn
END_COMMAND

COMMAND MOVE CRYSTAL
AtLocation 102
InRoom 467
PrintMessage 306
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND MOVE GRILLE
AtLocation 99
FlagOFF 40
PrintMessage 317 (* okay *)
TurnFlagON 40
SwapLocations 551 552
DoneWithTurn
END_COMMAND

COMMAND MOVE GRILLE
AtLocation 99
FlagON 40
PrintMessage 334 (* close it *)
TurnFlagOFF 40
SwapLocations 552 551
DoneWithTurn
END_COMMAND

COMMAND MOVE SACK
AtLocation 76
IsNowhere 393 (* not found ring yet *)
PrintMessage 154 (* pull sack, find ring *)
PutInCurrentRoom 393
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND MOVE SACK
AtLocation 76
IsSomewhere 393 (* done it once *)
PrintMessage 155 (* zilch *)
DoneWithTurn
END_COMMAND

COMMAND MOVE SIDEBOARD
AtLocation 85
NOT InRoom 452 (* not done it before *)
PrintMessage 281 (* push it *)
PutInCurrentRoom 452
DoneWithTurn
END_COMMAND

COMMAND MOVE SIDEBOARD
AtLocation 85
InRoom 452
PrintMessage 280 (* no further *)
DoneWithTurn
END_COMMAND

COMMAND MOVE TAPESTRY
AtLocation 20
PrintMessage 214 (* nothing *)
DoneWithTurn
END_COMMAND

COMMAND MOVE ANY
NOT NOUNpresent
PrintMessage 262
DoneWithTurn
END_COMMAND

COMMAND OPEN BOTTLE
IsCarrying 409
PrintMessage 196 (* drink it? *)
DoneWithTurn
END_COMMAND

COMMAND OPEN BOX
Present 343 (* small box *)
OpenIt 343
DescribeThing 343
DoneWithTurn
END_COMMAND

COMMAND OPEN BOX
Present 394 (* box *)
IsCarrying 393
OR
IsWearing 393
PrintMessage 216 (* how? *)
DoneWithTurn
END_COMMAND

COMMAND OPEN BOX
NOT IsCarrying 393
OR
NOT IsWearing 393 (* ring *)
PrintMessage 177 (* can't *)
DoneWithTurn
END_COMMAND

COMMAND OPEN CUPBOARD
AtLocation 28
IsClosed 351
PrintMessage 71
DoneWithTurn
END_COMMAND

COMMAND OPEN CUPBOARD
AtLocation 28
IsOpen 351
PrintMessage 35
DoneWithTurn
END_COMMAND

COMMAND OPEN DOOR
AtLocation 36
PrintMessage 8
DoneWithTurn
END_COMMAND

COMMAND OPEN DOOR
AtLocation 29
PrintMessage 71
DoneWithTurn
END_COMMAND

COMMAND OPEN DOOR
AtLocation 75
FlagOFF 16 (* door locked *)
NOT IsCarrying 391 (* large key *)
PrintMessage 147 (* not got right key *)
DoneWithTurn
END_COMMAND

COMMAND OPEN DOOR
AtLocation 75
FlagON 16 (* door unlocked *)
PrintMessage 148 (* already open *)
DoneWithTurn
END_COMMAND

COMMAND OPEN DOOR
AtLocation 75
FlagOFF 16 (* door locked *)
IsCarrying 391 (* large key *)
PrintMessage 146 (* unlock and open it *)
TurnFlagON 16
DoneWithTurn
END_COMMAND

COMMAND OPEN DOOR
AtLocation 76
FlagOFF 16 (* door locked *)
NOT IsCarrying 391 (* large key *)
PrintMessage 147 (* not got right key *)
DoneWithTurn
END_COMMAND

COMMAND OPEN DOOR
AtLocation 76
FlagON 16 (* door unlocked *)
PrintMessage 148 (* already open *)
DoneWithTurn
END_COMMAND

COMMAND OPEN DOOR
AtLocation 76
FlagOFF 16 (* door locked *)
IsCarrying 391 (* large key *)
PrintMessage 146 (* unlock and open it *)
TurnFlagON 16
DoneWithTurn
END_COMMAND

COMMAND OPEN DOOR
AtLocation 105
FlagOFF 43 (* door locked *)
NOT IsCarrying 447 (* large key *)
PrintMessage 147 (* not got right key *)
DoneWithTurn
END_COMMAND

COMMAND OPEN DOOR
AtLocation 105
FlagON 43 (* door unlocked *)
PrintMessage 148 (* already open *)
DoneWithTurn
END_COMMAND

COMMAND OPEN DOOR
AtLocation 105
FlagOFF 43 (* door locked *)
IsCarrying 447 (* large key *)
PrintMessage 348 (* flies open *)
TurnFlagON 43
DoneWithTurn
END_COMMAND

COMMAND OPEN DOOR
AtLocation 108
PrintMessage 346 (* jammed *)
DoneWithTurn
END_COMMAND

COMMAND OPEN GRILLE
AtLocation 99
FlagOFF 40
PrintMessage 317 (* okay *)
TurnFlagON 40
SwapLocations 551 552
DoneWithTurn
END_COMMAND

COMMAND OPEN GRILLE
AtLocation 99
FlagON 40
PrintMessage 318
DoneWithTurn
END_COMMAND

COMMAND OPEN HARPSICHORD
AtLocation 84
FlagOFF 35 (* cymbals on h *)
OR
FlagOFF 36 (* trumpet on h *)
PrintMessage 273 (* not when there's something on it *)
DoneWithTurn
END_COMMAND

COMMAND OPEN HARPSICHORD
AtLocation 84
FlagON 35
FlagON 36
OpenIt 441
PrintMessage 58 (* okay *)
BlankLine
LookAtRoom
DoneWithTurn
END_COMMAND

COMMAND OPEN POCKET
Present 330 (* pocket *)
OpenIt 330
DescribeThing 330
DoneWithTurn
END_COMMAND

COMMAND OPEN SACK
Present 392 (* sack *)
OpenIt 392
PutInCurrentRoom 505 (* snake *)
PrintMessage 153 (* snake slithers out *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* bye bye dog if here *)
Destroy 505 (* and snake *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND OPEN TABLE
AtLocation 25
IsClosed 390
SomethingInside 390
OpenIt 390
DescribeThing 390
DonewithTurn
END_COMMAND

COMMAND OPEN TABLE
AtLocation 25
IsClosed 390
NOT SomethingInside 390
OpenIt 390
PrintMessage 58 (* okay *)
DoneWithTurn
END_COMMAND

COMMAND OPEN TRAPDOOR
AtLocation 112
InRoom 559
PrintMessage 343
DoneWithTurn
END_COMMAND

COMMAND OPEN UMBRELLA
Present 377 (* closed *)
SwapLocations 377 378
PrintMessage 137
DoneWithTurn
END_COMMAND

COMMAND OPEN UMBRELLA
Present 378 (* partly open *)
AtLocation 74
PrintMessage 227 (* whew! *)
BlankLine
Destroy 373 (* boat etc *)
Destroy 374
Destroy 375
Destroy 376
Destroy 377
SwapLocations 378 379 ( * brolly *)
SetVariableTo 5 0
GoToRoom 75
DonewithTurn
END_COMMAND

COMMAND OPEN UMBRELLA
Present 377 (* closed *)
AtLocation 74
PrintMessage 140 (* whew! *)
BlankLine
Destroy 373 (* boat etc *)
Destroy 374
Destroy 375
Destroy 376
Destroy 377
SwapLocations 378 379 ( * brolly *)
SetVariableTo 5 0
GoToRoom 75
DonewithTurn
END_COMMAND

COMMAND OPEN UMBRELLA
Present 378 (* open *)
PrintMessage 138
DoneWithTurn
END_COMMAND

COMMAND OPEN UMBRELLA
Present 379
PrintMessage 23
DoneWithTurn
END_COMMAND

COMMAND OPEN VIAL
IsCarrying 448
PrintMessage 283 (* drink it? *)
DoneWithTurn
END_COMMAND

COMMAND OPEN WARDROBE
AtLocation 26
FlagOFF 6 (* wardrobe closed *)
InRoom 500 (* fierce dog here *)
PrintMessage 28 (* no chance *)
DoneWithTurn
END_COMMAND

COMMAND OPEN WARDROBE
AtLocation 26
FlagOFF 6
InRoom 501 (* dog covered *)
PrintMessage 30
TurnFlagON 6 (* open wardrobe *)
SetVariableTo 2 2 (* can get two things *)
OpenIt 323
BlankLine
DescribeThing 323 (* show things inside *)
DoneWithTurn
END_COMMAND

COMMAND OPEN WARDROBE
AtLocation 26
FlagOFF 6 (* wardrobe closed *)
Present 502 (* friendly dog *)
PrintMessage 38 (* door jammed *)
DonewithTurn
END_COMMAND

COMMAND OPEN WARDROBE
AtLocation 26
FlagON 6
PrintMessage 35 (* already open *)
DoneWithTurn
END_COMMAND

COMMAND OPEN ANY
NOT NOUNpresent
PrintMessage 262
DoneWithTurn
END_COMMAND

COMMAND PLAY HARP
NOT InRoom 467 (* crystal *)
IsCarrying 445 (* harp *)
Present 462 (* glass key *)
PrintMessage 302 (* key shatters *)
Destroy 462
DoneWithTurn
END_COMMAND

COMMAND PLAY HARP
InRoom 467 (* crystal *)
IsCarrying 445 (* harp *)
Present 462 (* key *)
PrintMessage 303 (* crystal and key shatter, see whistle *)
Destroy 462
Destroy 467
PutInCurrentRoom 468
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND PLAY HARP
InRoom 467
IsCarrying 445
NOT Present 462
PrintMessage 304 (* crystal shatters, see whistle *)
Destroy 467
PutInCurrentRoom 468
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND PULL BLANKET
AtLocation 26
Present 501 (* dog covered *)
PrintMessage 33
Destroy 501
PutInCurrentRoom 500
PutInCurrentRoom 324
DoneWithTurn
END_COMMAND

COMMAND PULL CRYSTAL
AtLocation 102
InRoom 467
PrintMessage 306
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND PULL GRILLE
AtLocation 99
FlagOFF 40
PrintMessage 317 (* okay *)
TurnFlagON 40
SwapLocations 551 552
DoneWithTurn
END_COMMAND

COMMAND PULL GRILLE
AtLocation 99
FlagON 40
PrintMessage 334
SwapLocations 551 552
TurnFlagOFF 40
DoneWithTurn
END_COMMAND

COMMAND PULL ROPE
Present 359 (* rope tied to tree *)
PrintMessage 93
Destroy 359
PutInCurrentRoom 362 (* branch with rope tied to it *)
Destroy 307 (* original tree *)
Destroy 308 (* strong branch *)
PutInCurrentRoom 363 (* tree with broken branch *)
DoneWithTurn
END_COMMAND

COMMAND PULL ROPE
Present 368 (* rope tied to stalagmite *)
PrintMessage 108 (* phew *)
DoneWithTurn
END_COMMAND

COMMAND PULL SACK
AtLocation 76
IsNowhere 393 (* not found ring yet *)
PrintMessage 154 (* pull sack, find ring *)
PutInCurrentRoom 393
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND PULL SACK
AtLocation 76
IsSomewhere 393 (* done it once *)
PrintMessage 155 (* zilch *)
DoneWithTurn
END_COMMAND

COMMAND PULL STAFF
AtLocation 110
NOT InRoom 555
PrintMessage 337
PutInCurrentRoom 555 110 (* exit *)
DoneWithTurn
END_COMMAND

COMMAND PULL STAFF
AtLocation 110
InRoom 555
PrintMessage 338
Destroy 555
DoneWithTurn
END_COMMAND

COMMAND PULL SIDEBOARD
AtLocation 85
NOT InRoom 452 (* not done it before *)
PrintMessage 281 (* push it *)
PutInCurrentRoom 452
DoneWithTurn
END_COMMAND

COMMAND PULL SIDEBOARD
AtLocation 85
InRoom 452
PrintMessage 280 (* no further *)
DoneWithTurn
END_COMMAND

COMMAND PUSH BUST
AtLocation 83
PrintMessage 268 (* squeak *)
SendToRoom 446 81 (* open doorway *)
SetVariableTo 9 5
DoneWithTurn
END_COMMAND

COMMAND PUSH BUTTON
AtLocation 29
PrintMessage 79
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* dog *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND PUSH CRYSTAL
AtLocation 102
InRoom 467
PrintMessage 306
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND PUSH SIDEBOARD
AtLocation 85
NOT InRoom 452 (* not done it before *)
PrintMessage 281 (* push it *)
PutInCurrentRoom 452
DoneWithTurn
END_COMMAND

COMMAND PUSH SIDEBOARD
AtLocation 85
InRoom 452
PrintMessage 280 (* no further *)
DoneWithTurn
END_COMMAND

COMMAND PUSH ANY
NOUNPresent
PrintMessage 258
DoneWithTurn
END_COMMAND

COMMAND PUT ANY IN BOX
NOUNIsCarrying
Present 343 (* hole in wall box *)
IsOpen 343
NOUNWeightGT 5
PrintMessage 183 (* too big *)
DoneWithTurn
END_COMMAND

COMMAND PUT ANY IN BOX
NOUNIsCarrying
Present 394 (* marble box *)
IsOpen 394
NOUNWeightGT 5
PrintMessage 183 (* too big *)
DoneWithTurn
END_COMMAND

COMMAND PUT ANY ON BED
AtLocation 14
PrintMessage 20
DropNOUN
DoneWithTurn
END_COMMAND

COMMAND PUT BISCUITS IN POCKET
Present 332 (* cloak *)
IsCarrying 335 (* got bix *)
FlagON 11 (* bix not in pocket *)
Destroy 335 (* dropped them *)
PrintMessage 45 (* dog homes in *)
DonewithTurn
END_COMMAND

COMMAND PUT BISCUITS IN POCKET
Present 332 (* cloak *)
FlagOFF 11 (* bix in pocket *)
PrintMessage 46 (* tell them *)
DoneWithTurn
END_COMMAND

COMMAND PUT BLANKET ON DOBERMAN
AtLocation 26
FlagOFF 9
InRoom 500
IsCarrying 324
Destroy 324
Destroy 500
PutInCurrentRoom 501
PrintMessage 29
TurnFlagON 9
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND PUT BLANKET ON DOBERMAN
AtLocation 26
InRoom 500
IsCarrying 324
FlagON 9 (* done it once *)
PrintMessage 32 (* fat chance *)
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN HOLE
AtLocation 17
NOUNIsNumber 381 (* specified red *)
IsCarrying 381 (* red *)
VariableEquals 6 6
PrintMessage 180 (* okay *)
SubtractFromVariable 6 1
AddToVariable 7 1
Destroy 381
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN HOLE
AtLocation 17
NOT NOUNIsNumber 381 (* not specified red *)
NOUNIsCarrying
VariableEquals 6 6
PrintMessage 180 (* okay *)
AddToVariable 7 1
DestroyNOUN
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN HOLE
AtLocation 17
NOUNIsNumber 380 (* specified blue *)
IsCarrying 380 (* blue *)
VariableEquals 6 5
PrintMessage 180 (* okay *)
SubtractFromVariable 6 1
AddToVariable 7 1
Destroy 380
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN HOLE
AtLocation 17
NOT NOUNIsNumber 380 (* not specified blue *)
NOUNIsCarrying
VariableEquals 6 5
PrintMessage 180 (* okay *)
AddToVariable 7 1
DestroyNOUN
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN HOLE
AtLocation 17
NOUNIsNumber 384 (* specified black *)
IsCarrying 384 (* black *)
VariableEquals 6 4
PrintMessage 180 (* okay *)
AddToVariable 7 1
SubtractFromVariable 6 1
Destroy 384
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN HOLE
AtLocation 17
NOT NOUNIsNumber 384 (* not specified black *)
NOUNIsCarrying
VariableEquals 6 4
PrintMessage 180 (* okay *)
AddToVariable 7 1
DestroyNOUN
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN HOLE
AtLocation 17
NOUNIsNumber 385 (* specified brown *)
IsCarrying 385 (* brown *)
VariableEquals 6 3
PrintMessage 180 (* okay *)
SubtractFromVariable 6 1
AddToVariable 7 1
Destroy 385
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN HOLE
AtLocation 17
NOT NOUNIsNumber 385 (* not specified brown *)
NOUNIsCarrying
VariableEquals 6 3
PrintMessage 180 (* okay *)
AddToVariable 7 1
DestroyNOUN
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN HOLE
AtLocation 17
NOUNIsNumber 387 (* specified purple *)
IsCarrying 387 (* purple *)
VariableEquals 6 2
PrintMessage 180 (* okay *)
AddToVariable 7 1
SubtractFromVariable 6 1
Destroy 387
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN HOLE
AtLocation 17
NOT NOUNIsNumber 387 (* not specified purple *)
NOUNIsCarrying
VariableEquals 6 2
PrintMessage 180 (* okay *)
AddToVariable 7 1
DestroyNOUN
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN HOLE
AtLocation 17
NOUNIsNumber 382 (* specified green *)
IsCarrying 382 (* green *)
VariableEquals 6 1
PrintMessage 181 (* last one, click, open *)
TurnFlagON 22
Destroy 401 (* panel *)
SwapLocations 400 406
SubtractFromVariable 6 1
Destroy 382
ChangePassageway 3 77 (* east to armour *)
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN HOLE
AtLocation 17
NOT NOUNIsNumber 382 (* not specified green *)
NOUNIsCarrying
VariableEquals 6 1
PrintMessage 185 (* last one, click, nothing *)
AddToVariable 7 1
DestroyNOUN
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN HOLE
NOUNIsCarrying
NOT VariableEquals 6 1 (* not done them right *)
VariableEquals 7 5 (* put in 6 incorrectly *)
PrintMessage 185 (* last one, click, nothing *)
AddToVariable 7 1 (* why not? *)
DestroyNOUN
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN PANEL
AtLocation 17
NOUNIsCarrying
FlagOFF 20 (* not seen dragon yet *)
PrintMessage 180 (* okay *)
DestroyNOUN
AddToVariable 7 1
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN PANEL
AtLocation 17
NOUNIsNumber 381 (* specified red *)
IsCarrying 381 (* red *)
VariableEquals 6 6
PrintMessage 180 (* okay *)
SubtractFromVariable 6 1
AddToVariable 7 1
Destroy 381
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN PANEL
AtLocation 17
NOT NOUNIsNumber 381 (* not specified red *)
NOUNIsCarrying
VariableEquals 6 6
PrintMessage 180 (* okay *)
AddToVariable 7 1
DestroyNOUN
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN PANEL
AtLocation 17
NOUNIsNumber 380 (* specified blue *)
IsCarrying 380 (* blue *)
VariableEquals 6 5
PrintMessage 180 (* okay *)
SubtractFromVariable 6 1
AddToVariable 7 1
Destroy 380
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN PANEL
AtLocation 17
NOT NOUNIsNumber 380 (* not specified blue *)
NOUNIsCarrying
VariableEquals 6 5
PrintMessage 180 (* okay *)
AddToVariable 7 1
DestroyNOUN
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN PANEL
AtLocation 17
NOUNIsNumber 384 (* specified black *)
IsCarrying 384 (* black *)
VariableEquals 6 4
PrintMessage 180 (* okay *)
AddToVariable 7 1
SubtractFromVariable 6 1
Destroy 384
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN PANEL
AtLocation 17
NOT NOUNIsNumber 384 (* not specified black *)
NOUNIsCarrying
VariableEquals 6 4
PrintMessage 180 (* okay *)
AddToVariable 7 1
DestroyNOUN
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN PANEL
AtLocation 17
NOUNIsNumber 385 (* specified brown *)
IsCarrying 385 (* brown *)
VariableEquals 6 3
PrintMessage 180 (* okay *)
SubtractFromVariable 6 1
AddToVariable 7 1
Destroy 385
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN PANEL
AtLocation 17
NOT NOUNIsNumber 385 (* not specified brown *)
NOUNIsCarrying
VariableEquals 6 3
PrintMessage 180 (* okay *)
AddToVariable 7 1
DestroyNOUN
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN PANEL
AtLocation 17
NOUNIsNumber 387 (* specified purple *)
IsCarrying 387 (* purple *)
VariableEquals 6 2
PrintMessage 180 (* okay *)
AddToVariable 7 1
SubtractFromVariable 6 1
Destroy 387
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN PANEL
AtLocation 17
NOT NOUNIsNumber 387 (* not specified purple *)
NOUNIsCarrying
VariableEquals 6 2
PrintMessage 180 (* okay *)
AddToVariable 7 1
DestroyNOUN
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN PANEL
AtLocation 17
NOUNIsNumber 382 (* specified green *)
IsCarrying 382 (* green *)
VariableEquals 6 1
PrintMessage 181 (* last one, click, open *)
TurnFlagON 22
Destroy 401 (* panel *)
SwapLocations 400 406
SubtractFromVariable 6 1
Destroy 382
PutInCurrentRoom 401 (* put panel back *)
ChangePassageway 3 77 (* east to armour *)
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN PANEL
AtLocation 17
NOT NOUNIsNumber 382 (* not specified green *)
NOUNIsCarrying
VariableEquals 6 1
PrintMessage 185 (* last one, click, nothing *)
AddToVariable 7 1
DestroyNOUN
DoneWithTurn
END_COMMAND

COMMAND PUT MARBLE IN PANEL
NOUNIsCarrying
NOT VariableEquals 6 1 (* not done them right *)
VariableEquals 7 5 (* put in 6 incorrectly *)
PrintMessage 185 (* last one, click, nothing *)
AddToVariable 7 1 (* why not? *)
DestroyNOUN
DoneWithTurn
END_COMMAND

COMMAND PUT PEN IN INKWELL
AtLocation 28
Present 350 (* pen *)
Destroy 350
SendToRoom 349 348 (* put other pen in well *)
OpenIt 351 (* open cupboard *)
ChangePassageway 4 29
ChangePassageway 10 29
PrintMessage 68 (* tell them *)
DoneWithTurn
END_COMMAND

COMMAND PUT PEN IN INKWELL
AtLocation 28
NOT Present 350
PrintMessage 86 (* don't have it *)
DoneWithTurn
END_COMMAND

COMMAND PUT PLANK ACROSS STREAM
AtLocation 87
OR
AtLocation 88
IsCarrying 450 (* plank *)
PrintMessage 277 (* make bridge *)
Destroy 450
SendToRoom 453 87
SendToRoom 454 88
DonewithTurn
END_COMMAND

COMMAND PUT PLANK ACROSS WATER
AtLocation 87
OR
AtLocation 88
IsCarrying 450 (* plank *)
PrintMessage 277 (* make bridge *)
Destroy 450
SendToRoom 453 87
SendToRoom 454 88
DonewithTurn
END_COMMAND

COMMAND PUT PLANK ACROSS GAP
AtLocation 90
IsCarrying 450 (* plank *)
PrintMessage 297 (* make bridge *)
Destroy 450
SendToRoom 455 90
DonewithTurn
END_COMMAND

COMMAND PUT RING IN DEPRESSION
FlagOFF 56
Present 394 (* box *)
IsCarrying 393 (* ring *)
OR
IsWearing 393 (* ring *)
PrintMessage 176 (* it opens *)
OpenIt 394
DescribeThing 394 (* box *)
PlusScore 1
TurnFlagON 56
DoneWithTurn
END_COMMAND

COMMAND PUT RING IN DEPRESSION
FlagON 56
Present 394 (* box *)
IsCarrying 393 (* ring *)
OR
IsWearing 393 (* ring *)
PrintMessage 398 (* already open *)
DoneWithTurn
END_COMMAND

COMMAND PUT ANY IN HOLE
AtLocation 17
NOUNIsCarrying
PrintMessage 188 (* doesn't fit *)
DoneWithTurn
END_COMMAND

COMMAND RAISE SAIL
AtLocation 50 (* on shore *)
FlagOFF 14 (* sail lowered *)
PrintMessage 247 (* boat goes *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* bye bye dog if here *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND RAISE SAIL
AtLocation 71 (* on beaches *)
OR
AtLocation 72
FlagOFF 14 (* sail lowered *)
PrintMessage 245 (* boat goes *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* bye bye dog if here *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND RAISE SAIL
AtLocationGT 50 (* in boat *)
AtLocationLT 71
FlagOFF 14 (* sail lowered *)
PrintMessage 119
TurnFlagON 14 (* sail up *)
DoneWithTurn
END_COMMAND

COMMAND RAISE SAIL
AtLocationGT 50 (* in boat *)
AtLocationLT 71
FlagON 14 (* sail raised *)
PrintMessage 121
DoneWithTurn
END_COMMAND

COMMAND READ PAPER
Present 344 (* flyer *)
FlagOFF 26 (* not read it yet *)
PrintMessage 226
PlusScore 1
TurnFlagON 26
DoneWithTurn
END_COMMAND

COMMAND READ PAPER
Present 344 (* flyer *)
FlagON 26 (* read it before *)
PrintMessage 226
DoneWithTurn
END_COMMAND

COMMAND READ SIGN
AtLocation 89
OR
AtLocation 92
PrintMessage 301 (* beware *)
DonewithTurn
END_COMMAND

COMMAND READ SIGNPOST
AtLocation 2
PrintMessage 169
DoneWithTurn
END_COMMAND

COMMAND READ WRITING
PrintMessage 225
DoneWithTurn
END_COMMAND

COMMAND READ ANY
NOT NOUNpresent
PrintMessage 262
DoneWithTurn
END_COMMAND

COMMAND REFLECT BOLT
AtLocation 121
FlagON 54
Present 464 (* shield *)
PrintMessage 386
PutInCurrentRoom 474 (* staff *)
Destroy 513
PutInCurrentRoom 514 (* 2nd Oklib *)
Destroy 487 (* bolt *)
SetVariableTo 11 0
TurnFlagOFF 54
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND REMOVE ARMOUR
NOUNIsWearing
PrintMessage 58
SendNOUNToRoom 1
DoneWithTurn
END_COMMAND

COMMAND REMOVE BOOTS
NOUNIsWearing
SendNOUNToRoom 1
PrintMessage 5
DoneWithTurn
END_COMMAND

COMMAND REMOVE CLOAK
NOUNIsWearing
RemoveIt 332
GetIt 332
Destroy 346
PrintMessage 58
DoneWithTurn
END_COMMAND

COMMAND REMOVE HOOD
NOUNIsWearing
Destroy 346
PrintMessage 58
DoneWithTurn
END_COMMAND

COMMAND REMOVE LEGGINGS
NOUNIsWearing
PrintMessage 4
DoneWithTurn
END_COMMAND

COMMAND REMOVE TUNIC
NOUNIsWearing
PrintMessage 4
DoneWithTurn
END_COMMAND

COMMAND REMOVE RING
NOUNIsWearing
PrintMessage 58
RemoveIt 393
GetIt 393
DoneWithTurn
END_COMMAND

COMMAND REMOVE SHIELD
NOUNIsWearing
PrintMessage 58
RemoveIt 464
GetIt 464
DoneWithTurn
END_COMMAND

COMMAND REMOVE ANY
NOT NOUNIsWearing
PrintMessage 220
DoneWithTurn
END_COMMAND

COMMAND SAY OKLIB
AtLocation 110
IsCarrying 477 (* clean plaque *)
NOT InRoom 512 (* lying dog *)
PrintMessage 373
GoToRoom 120
DoneWithTurn
END_COMMAND

COMMAND SAY OKLIB
AtLocation 110
IsCarrying 477 (* clean plaque *)
InRoom 512 (* lying dog *)
Destroy 512
PrintMessage 382
GoToRoom 120
SendToRoom 502 120
AddToGroup 502
DoneWithTurn
END_COMMAND

COMMAND SAY ANY
PrintMessage 374 (* nothing *)
DoneWithTurn
END_COMMAND

COMMAND SHOUT
AtLocation 12
OR
AtLocation 13 (* giant *)
PrintMessage 259
BlankLine
PrintMessage 260 (* woke him *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* bye bye dog if here *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND SHOUT
AtLocation 24
Present 504 (* sleeping giant *)
PrintMessage 259
BlankLine
PrintMessage 260 (* woke him *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* bye bye dog if here *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND SHOUT
PrintMessage 259 (* argh *)
DoneWithTurn
END_COMMAND

COMMAND SIT
AtLocation 20
PrintMessage 239
DoneWithTurn
END_COMMAND

COMMAND SIT
NOT AtLocation 20
PrintMessage 240
DoneWithTurn
END_COMMAND

COMMAND STAND ON LEDGE
AtLocation 47
FlagON 13
PrintMessage 113
Blankline
GoToRoom 48
DoneWithTurn
END_COMMAND

COMMAND STAND ON LEDGE
AtLocation 47
FlagOFF 13
PrintMessage 112
DoneWithTurn
END_COMMAND

COMMAND STROKE DOG
Present 502
PrintMessage 242 (* good boy *)
DoneWithTurn
END_COMMAND

COMMAND STROKE DOG
Present 500
PrintMessage 249 (* joking *)
DoneWithTurn
END_COMMAND

COMMAND STROKE DOG
Present 501
PrintMessage 250 (* joking *)
DoneWithTurn
END_COMMAND

COMMAND SWIM
AtLocation 10
IsWearing 302 (* boots *)
OR
IsCarrying 302
PrintMessage 10
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* dog *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND SWIM
AtLocation 10
LoadWeightGT 40 (* carrying too much *)
PrintMessage 229 (* drown *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502 (* dog *)
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND SWIM
AtLocation 10
Present 502
NOT IsWearing 302
OR
NOT IsCarrying 302
PrintMessage 9
BlankLine
GoToRoom 11
SwapLocations 502 507
END_COMMAND

COMMAND SWIM
AtLocation 11 (* continues from above *)
Present 507
Present 325 (* lit torch *)
PrintMessage 228  (* torch goes out *)
BlankLine
SwapLocations 325 424
DoneWithTurn
END_COMMAND

COMMAND SWIM
AtLocation 11 (* or this continues *)
Present 507
NOT Present 325 (* lit torch *)
DoneWithTurn
END_COMMAND

COMMAND SWIM
AtLocation 10
NOT Present 502
NOT IsWearing 302
OR
NOT IsCarrying 302
PrintMessage 9
BlankLine
GoToRoom 11
END_COMMAND

COMMAND SWIM
AtLocation 11 (* continues from above *)
NOT Present 507
Present 325 (* lit torch *)
PrintMessage 228  (* torch goes out *)
BlankLine
SwapLocations 325 424
DoneWithTurn
END_COMMAND

COMMAND SWIM
AtLocation 11 (* or this continues *)
NOT Present 507
NOT Present 325 (* lit torch *)
DoneWithTurn
END_COMMAND

COMMAND SWIM
AtLocation 4 (* lake *)
PrintMessage 203 (* water's freezing *)
DoneWithTurn
END_COMMAND

COMMAND SWIM
AtLocationGT 48
AtLocationLT 73
PrintMessage 203 (* water's freezing *)
DoneWithTurn
END_COMMAND

COMMAND THROW BLANKET AT DOBERMAN
AtLocation 26
FlagOFF 9
InRoom 500
IsCarrying 324
Destroy 324
Destroy 500
PutInCurrentRoom 501
PrintMessage 29
TurnFlagON 9
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND THROW BLANKET AT DOBERMAN
AtLocation 26
InRoom 500
IsCarrying 324
FlagON 9 (* done it once *)
PrintMessage 32 (* fat chance *)
DoneWithTurn
END_COMMAND

COMMAND TIE ROPE TO BRANCH
AtLocation 7
Present 317 (* rope *)
IsNowhere 360 (* broken branch *)
PrintMessage 89
Destroy 317
PutInCurrentRoom 359 (* rope hanging from branch *)
DoneWithTurn
END_COMMAND

COMMAND TIE ROPE TO BRANCH
AtLocation 7
Present 317 (* rope *)
IsSomewhere 360 (* broken branch *)
PrintMessage 91
PrintMessage 95 (* broken only good branch *)
DoneWithTurn
END_COMMAND

COMMAND TIE ROPE TO TREE
AtLocation 7
Present 317 (* rope *)
IsNowhere 360 (* broken branch *)
PrintMessage 89
Destroy 317
PutInCurrentRoom 359 (* rope hanging from branch *)
DoneWithTurn
END_COMMAND

COMMAND TIE ROPE TO TREE
AtLocation 7
Present 317 (* rope *)
IsSomewhere 360 (* broken branch *)
PrintMessage 91
PrintMessage 95 (* broken only good branch *)
DoneWithTurn
END_COMMAND

COMMAND TIE ROPE TO GRILL
AtLocation 11
IsCarrying 317 (* rope *)
PrintMessage 92
Destroy 317
PutInCurrentRoom 361 (* rope tied to grill *)
DoneWithTurn
END_COMMAND

COMMAND TIE ROPE TO STALAGMITE
AtLocation 41
IsCarrying 317 (* rope *)
PrintMessage 104
Destroy 317
Destroy 367
PutInCurrentRoom 368 (* rope tied to grill *)
DoneWithTurn
END_COMMAND

COMMAND TIE ROPE
Not Present 317 (* rope *)
PrintMessage 90 (* no rope *)
DoneWithTurn
END_COMMAND

COMMAND TIE ROPE
Present 317 (* rope *)
Printmessage 91 (* to what? *)
DoneWithTurn
END_COMMAND

COMMAND TOUCH CRYSTAL
AtLocation 102
InRoom 467
PrintMessage 306
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND TOUCH MIRROR WITH STAFF
AtLocation 122
IsCarrying 474 (* staff *)
WaitForReturn
ClearScreen
PrintMessage 391
PlusScore 5
WinGame
DoneWithTurn
END_COMMAND

COMMAND TOUCH WALL
AtLocation 45 (* warm cave *)
NOT Present 403 (* no hole *)
PrintMessage 168
DoneWithTurn
END_COMMAND

COMMAND TURN CRYSTAL
AtLocation 102
InRoom 467
PrintMessage 306
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND

COMMAND TURN HOURGLASS
Present 463 (* hourglass *)
FlagOFF 37 (* not done it yet *)
PrintMessage 286 (* ok *)
TurnFlagON 37
TurnCounterON 4
DoneWithTurn
END_COMMAND

COMMAND TURN HOURGLASS
Present 463
FlagON 37
PrintMessage 291 (* not twice *)
DoneWithTurn
END_COMMAND

COMMAND UNLOCK BOX WITH RING
Present 394 (* box *)
AtLocation 11 (* moat *)
IsCarrying 393 (* ring *)
OR
IsWearing 393 (* ring *)
PrintMessage 233 (* not while swimming *)
DoneWithTurn
END_COMMAND

COMMAND UNLOCK BOX WITH RING
FlagOFF 56
Present 394 (* box *)
NOT AtLocation 11 (* not in moat *)
IsCarrying 393 (* ring *)
OR
IsWearing 393 (* ring *)
PrintMessage 176 (* it opens *)
OpenIt 394
DescribeThing 394 (* box *)
PlusScore 1
TurnFlagON 56
DoneWithTurn
END_COMMAND

COMMAND UNLOCK BOX WITH RING
FlagON 56
Present 394 (* box *)
NOT AtLocation 11 (* not in moat *)
IsCarrying 393 (* ring *)
OR
IsWearing 393 (* ring *)
PrintMessage 398 (* already open *)
DoneWithTurn
END_COMMAND

COMMAND UNLOCK BOX
Present 394
IsCarrying 393
OR
IsWearing 393
PrintMessage 216 (* how? *)
DoneWithTurn
END_COMMAND

COMMAND UNLOCK BOX
NOT IsCarrying 393
OR
NOT IsWearing 393 (* ring *)
PrintMessage 177 (* can't *)
DoneWithTurn
END_COMMAND

COMMAND UNLOCK DOOR
AtLocation 36 (* corridor *)
PrintMessage 147 (* can't *)
DonewithTurn
END_COMMAND

COMMAND UNLOCK DOOR
AtLocation 75
FlagOFF 16 (* door locked *)
NOT IsCarrying 391 (* large key *)
PrintMessage 147 (* not got right key *)
DoneWithTurn
END_COMMAND

COMMAND UNLOCK DOOR
AtLocation 75
FlagON 16 (* door unlocked *)
PrintMessage 148 (* already open *)
DoneWithTurn
END_COMMAND

COMMAND UNLOCK DOOR
AtLocation 75
FlagOFF 16 (* door locked *)
IsCarrying 391 (* large key *)
PrintMessage 146 (* unlock and open it *)
TurnFlagON 16
DoneWithTurn
END_COMMAND

COMMAND UNLOCK DOOR
AtLocation 76
FlagOFF 16 (* door locked *)
NOT IsCarrying 391 (* large key *)
PrintMessage 147 (* not got right key *)
DoneWithTurn
END_COMMAND

COMMAND UNLOCK DOOR
AtLocation 76
FlagON 16 (* door unlocked *)
PrintMessage 148 (* already open *)
DoneWithTurn
END_COMMAND

COMMAND UNLOCK DOOR
AtLocation 76
FlagOFF 16 (* door locked *)
IsCarrying 391 (* large key *)
PrintMessage 146 (* unlock and open it *)
TurnFlagON 16
DoneWithTurn
END_COMMAND

COMMAND UNLOCK DOOR
AtLocation 105
FlagOFF 43 (* door locked *)
NOT IsCarrying 447 (* ornate key *)
PrintMessage 147 (* not got right key *)
DoneWithTurn
END_COMMAND

COMMAND UNLOCK DOOR
AtLocation 105
FlagON 43 (* door unlocked *)
PrintMessage 148 (* already open *)
DoneWithTurn
END_COMMAND

COMMAND UNLOCK DOOR
AtLocation 105
FlagOFF 43 (* door locked *)
IsCarrying 447 (* ornate key *)
PrintMessage 348 (* flies open *)
TurnFlagON 43
DoneWithTurn
END_COMMAND

COMMAND UNLOCK DOOR
AtLocation 108
PrintMessage 346 (* jammed shut *)
DonewithTurn
END_COMMAND

COMMAND UNTIE ROPE
Present 359 (* rope and branch *)
PrintMessage 94
Destroy 359
GetIt 317 (* rope *)
DoneWithTurn
END_COMMAND

COMMAND UNTIE ROPE
Present 361 (* rope and grill *)
PrintMessage 94
Destroy 361
GetIt 317 (* rope *)
DoneWithTurn
END_COMMAND

COMMAND UNTIE ROPE
Present 368 (* rope and stalagmite *)
PrintMessage 94
Destroy 368
GetIt 317 (* rope *)
DoneWithTurn
END_COMMAND

COMMAND UNTIE ROPE
Present 362 (* broken branch with rope tied to it *)
PrintMessage 94
Destroy 362
GetIt 317 (* rope *)
PutInCurrentRoom 360 (* broken branch *)
DoneWithTurn
END_COMMAND

COMMAND WEAR ARMOUR
IsCarrying 402
WearIt 402
PrintMessage 58 (* okay *)
DoneWithTurn
END_COMMAND

COMMAND WEAR HOOD
IsWearing 332
NOT IsWearing 346
WearIt 346
PrintMessage 56
DoneWithTurn
END_COMMAND

COMMAND WEAR HOOD
IsWearing 346
PrintMessage 243
DoneWithTurn
END_COMMAND

COMMAND WEAR HOOD
NOT ISWearing 332
PrintMessage 57 (* cant wear hood and not cloak *)
DoneWithTurn
END_COMMAND

COMMAND WEAR NET
Present 469
PrintMessage 365
WearIt 469
DoneWithTurn
END_COMMAND

COMMAND WEAR RING
IsCarrying 393
PrintMessage 156
WearIt 393
DoneWithTurn
END_COMMAND

COMMAND WEAR SHIELD
IsCarrying 464
PrintMessage 330
Wearit 464
DonewithTurn
END_COMMAND

COMMAND WEDGE DOOR
AtLocation 118
Present 473 (* spike *)
OR
Present 479 (* other spike *)
Present 484 (* ajar door *)
PrintMessage 352 (* do it *)
SwapLocations 484 485
Destroy 473
Destroy 479
PlusScore 2
DoneWithTurn
END_COMMAND

COMMAND WEDGE DOOR
AtLocation 118
Present 484 (* door ajar *)
PrintMessage 353
DoneWithTurn
END_COMMAND

COMMAND ANY
AtLocation 121
FlagON 54
VariableEquals 11 6
Present 513
PrintMessage 385 (* bolt hits *)
BlankLine
PrintMessage 12
BlankLine
RemoveEverything
DropEverything
Destroy 502
GoToRoom 100
DoneWithTurn
END_COMMAND
